【问题标题】:How to make JFrame pause thread similar to how JOptionPane works如何使 JFrame 暂停线程类似于 JOptionPane 的工作方式
【发布时间】:2014-04-22 00:33:35
【问题描述】:

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

【问题讨论】:

  • "..游戏一直在后台运行。我注意到使用 JOptionPane 时,线程会暂停,直到 JOptionPane 消失。" 这是完全错误的。 用户 被阻止访问主 UI,但任何动画(如果正确完成)都会继续播放。

标签: java multithreading swing jframe joptionpane


【解决方案1】:

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

【讨论】:

  • 我还能做 JFrame 做的事情吗?比如卡片布局、按钮等
  • @RyanHosford:它可以做所有这些事情。了解就像 JFrame 一样,它是一个顶级窗口。它无法在您的图标栏上创建另一个图标。并且关闭它并不能自动关闭应用程序(除非您专门为此编写代码)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多