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一样,它是一个顶级窗口。它无法在图标栏上创建其他图标。关闭它不能自动关闭应用程序(除非您专门为此编写代码)。