如何使用JOptionPane重新启动应用程序?

时间:2015-06-10 10:11:52

标签: java swing joptionpane

因此,当玩家在我的游戏中死亡时,我想要一个弹出窗口询问他们是否要重启或退出。 NO和CANCEL选项工作正常(System.exit(0))但YES选项是我遇到麻烦的地方。我在YES时打电话给主游戏

LatestStateUpdate

使用我的Launcher Class中的一行

update_date

然后重启,但弹出窗口不会消失。游戏无法再次播放,我必须退出并再次启动它。如果有人能够找到一种方法,在点击“是”之后一次又一次地停止弹出提示,那将是一件好事。

谢谢

编辑:我把

IndicatorDatum
代码中的

id

这似乎解决了这个问题。但是,我现在有一个完全不同的问题,即每次启动一个新的应用程序并且不删除旧的应用程序。有没有办法删除旧游戏并开始新游戏?

由于

2 个答案:

答案 0 :(得分:2)

查看health变量 如果你再次告诉弹出窗口,这个条件:

player.health <= 0
重启后

必须为真。因此,我希望playerhealth变量是静态的,静态变量也必须重新启动

答案 1 :(得分:1)

我认为问题不在您的playerHealth方法的代码中。这应该完全正常。

问题是你的代码中可能还有其他地方一直在回叫playerHealth。

也许你应该考虑将game实例传递给你的玩家健康状态并调用game.restart()来停止调用playerHealth方法并重新启动你的游戏(可能通过game.start())。< / p>

总而言之,你的代码很好但很可能你正在某处调用playerHealth错误。

编辑:如果您想使用Observer等模式通知需要停止的Game实例,请查看此帖子:Examples of GoF Design Patterns in Java's core libraries

特别是ActionListener个实例。