【问题标题】:How to close when on JOptionPane.showMessageDialog?在 JOptionPane.showMessageDialog 上时如何关闭?
【发布时间】:2015-08-23 21:03:56
【问题描述】:

当某个动作发生时,我设置了一个 JOptionPane,我希望它是 showMessageDialog 因为它只显示一条消息。当您单击“确定”或“取消”时,如何设置它会关闭整个应用程序?

这是我写的

JOptionPane.showMessageDialog(null, "you lose");
if (JOptionPane.OK_OPTION){
        System.exit(0);
}

但它不起作用。我基于我在网上找到的这段代码:

int exit = JOptionPane.showConfirmDialog(mainFrame, "Are you sure?");

if (exit == JOptionPane.YES_OPTION)
{
    try
    {
        Runtime.getRuntime().exec("cmd.exe /c start www.yahoo.com");
    }
    catch (Exception exception)
    {
    }
    System.exit(0);
}
else {
}

但这是一个确认对话框,我只是希望它适用于消息对话框。

我尝试将 JOptionFrame.showConfirmDialog 更改为 JOptionFrame.showMessageDialog 但它不起作用,因为必须删除 int 和其他内容。

谢谢

【问题讨论】:

  • 问题是showMessageDialog 不会返回任何东西,不像showConfirmDialog

标签: java


【解决方案1】:

您可以使用ConfirmaDialogINFORMATION_MESSAGE 类型。

int exit = JOptionPane.showConfirmDialog(null, "Are you sure?" , null, JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
if (exit == JOptionPane.YES_OPTION)
{
    //Do smt
}

如果您要以任何方式关闭应用程序,请执行以下操作:

JOptionPane.showMessageDialog(null, "you lose");
System.exit(0);

如果在任何情况下,您将关闭应用程序,为什么还要打扰?

【讨论】:

  • 是的,它奏效了。谢谢!它只是看起来有点奇怪,我设置按钮的目的是通知玩家他们输了并通过单击“确定”接受它,然后它就会关闭。这里有一个取消选项,我想它可以被编码来关闭应用程序,但它看起来像是一个奇怪的设计选择,你知道我的意思吗?真的没有办法解决吗?
  • @RobBor 如果您想授予用户控制权,无论他们是否要关闭它,都可以有一个取消选项。但如果这不是选择,那么你根本不需要关心选项,只需关闭它,何必呢?显示消息,点击后关闭应用。
  • 我该怎么做?对不起,我是业余爱好者。 NVM,我刚刚看到您的原始帖子。这就是我想要的。谢谢!如有任何麻烦,我很抱歉
  • 您能帮我解决我面临的另一个问题吗?我测试代码的地方是玩家子弹击中敌人的时候。不是正确的测试地点,但这是我尝试的第一个地方。好吧,它在那里工作得很好,但是当玩家真正死亡时实际上什么都没有发生,我已经有这个问题有一段时间了,我做了另一个线程希望得到答案,但无济于事。你会以某种方式碰巧知道该怎么做吗?当我在 if 语句下的正确位置使用您的编辑时,它会立即打开和关闭。
  • @RobBor 你能创建一个新问题,并给我链接,我认为最好看实际代码:)
【解决方案2】:

试试这个:

int choice = JOptionPane.showConfirmDialog(null, "you lose", "title", JOptionPane.OK_CANCEL_OPTION);
if (choice == JOptionPane.OK_OPTION || choice == JOptionPane.CANCEL_OPTION){
   System.exit(0);
}

谢谢。

【讨论】:

  • 是的,这行得通!我只会说我上面写的,它只是看起来有点奇怪,因为我这个按钮的目的是通知玩家他们输了,然后点击确定接受它,然后它就关闭了。这里有一个取消选项,它被编码为关闭应用程序,但它看起来像是一个奇怪的设计选择,你知道我的意思吗?真的没有办法解决吗?
  • 看看here
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-25
  • 2020-06-01
  • 2018-08-10
  • 1970-01-01
相关资源
最近更新 更多