Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使JFrame暂停线程类似于JOptionPane的工作方式_Java_Multithreading_Swing_Jframe_Joptionpane - Fatal编程技术网

Java 如何使JFrame暂停线程类似于JOptionPane的工作方式

Java 如何使JFrame暂停线程类似于JOptionPane的工作方式,java,multithreading,swing,jframe,joptionpane,Java,Multithreading,Swing,Jframe,Joptionpane,我正在制作一个游戏,每当玩家与敌人接触时,我希望弹出一个JFrame,询问你是否想与敌人作战,但当JFrame弹出时,游戏会在后台继续运行。我注意到,使用JOptionPanes,线程暂停,直到JOptionPane消失。使用JFrame如何获得类似的效果?解决方案:不要使用JFrame——你需要一个充当模态对话框的窗口——所以使用一个模态对话框,确切地说是一个JDialog。请注意,这正是JOptionPane所做的。可能重复“。游戏一直在后台运行。我注意到,使用JOptionPanes时,线

我正在制作一个游戏,每当玩家与敌人接触时,我希望弹出一个
JFrame
,询问你是否想与敌人作战,但当
JFrame
弹出时,游戏会在后台继续运行。我注意到,使用
JOptionPanes
,线程暂停,直到
JOptionPane
消失。使用
JFrame
如何获得类似的效果?

解决方案:不要使用JFrame——你需要一个充当模态对话框的窗口——所以使用一个模态对话框,确切地说是一个JDialog。请注意,这正是JOptionPane所做的。

可能重复“。游戏一直在后台运行。我注意到,使用JOptionPanes时,线程会暂停,直到JOptionPane消失。”这是完全错误的。用户被阻止访问主UI,但任何动画(如果正确完成)都会保持动画效果。我仍然可以做与JFrames相同的事情吗?比如卡片布局、按钮等等@RyanHosford:它可以做所有这些事情。要明白,就像JFrame一样,它是一个顶级窗口。它无法在图标栏上创建其他图标。关闭它不能自动关闭应用程序(除非您专门为此编写代码)。