当用户选择 "Cancel" 时让 java 应用程序保持打开状态?

Keeping a java application open when a user selects "Cancel"?

我有一个非常基本的问题。

我在 java 中有以下 WIndowClosing() 事件。如果用户单击 "Cancel",我想让应用程序保持打开状态。我该怎么做?

选择"Cancel"时应用程序一直关闭。

这是我的:

    public void windowClosing(WindowEvent evt) 
    {
        SAVE_MODE event = m_model.saveChanges();

        if(event == SAVE_MODE.YES)
        {
            saveChanges();
            System.exit(0);
        }
        else if(event == Common.SAVE_MODE.NO)
        {
            System.exit(0);
        }
        else
        {
            //Keep the application open -- how do I say that in code?
        }

    } 

注意以下几点:

当 ELSE 子句为空时,应用程序仍然关闭。我认为这不应该发生。

我应该花两分钟时间解决这个问题。任何帮助,将不胜感激。谢谢

我认为可能只需要一种不同的方法。将主框架的默认关闭操作(在初始设置期间)设置为:

frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);

然后添加 windowClosing 代码以在确定时退出,在取消时不执行任何操作。

frame.addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent evt) {
        SAVE_MODE event = m_model.saveChanges();
        switch (event)
        {
            case YES:
                saveChanges();
                System.exit(0);
                break;
            case NO:
                System.exit(0);
                break;
            default:
                break;
        }
    }
  });

(如果你想把正确答案归功于我)

确保您正在调用 [您的 JFrame].setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);