【问题标题】:Closing JDialog Java关闭 JDialog Java
【发布时间】:2025-12-24 17:45:11
【问题描述】:

如何停止对话框运行?

String menuInput = null;
        JOptionPane askOpenOrNew = new JOptionPane(
                "Would you like to Open a save\nor create a New world?");
        Object[] askOptions = new String[] { "Open World", "New World",
                "Cancel" };
        askOpenOrNew.setOptions(askOptions);
        JDialog askDialog = askOpenOrNew.createDialog(new JFrame(),
                "There is no World");
        askDialog.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        askDialog.setVisible(true);

它使 Eclipse 中的控制台在程序应该终止后继续运行。

编辑:对话框确实关闭(因为它从屏幕上消失)但控制台不会终止,除非明确告知(System.exit(0))。

【问题讨论】:

    标签: java swing dialog joptionpane


    【解决方案1】:

    如果您希望程序退出,我建议显式调用System.exit(0)

    【讨论】:

      【解决方案2】:

      如果您希望程序在关闭对话框后退出,则替换

      askDialog.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
      

      askDialog.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
      

      我希望这就是你要找的。​​p>

      【讨论】:

      • EXIT 导致错误'defaultCloseOperation 必须是以下之一:DO_NOTHING_ON_CLOSE、HIDE_ON_CLOSE 或 DISPOSE_ON_CLOSE'