我有一个非常基本的问题。
我在java中有以下WIndowClosing()事件。如果用户点击"取消",我想保持应用程序处于打开状态。我该怎么做?
应用程序在"取消"被选中。
这就是我所拥有的:
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子句为空时,应用程序仍会关闭。我不认为应该发生这种情况。
这应该花两个小时来解决。任何帮助,将不胜感激。感谢。
答案 0 :(得分:1)
我认为可能只需要一种不同的方法。将主框架的默认关闭操作(在初始设置期间)设置为:
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;
}
}
});
答案 1 :(得分:1)
(如果你想给我正确答案)
确保你正在调用[yourJFrame] .setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);