在关闭一个窗体时,要求弹出确认框,选择是,否和取消。代码是这样写的
监听器代码如下: private class jfAddUsrListener implements WindowListener{
public void windowClosed(WindowEvent e){
System.out.println("Closed");
}
public void windowClosing(WindowEvent e){
int saveResult = JOptionPane.showConfirmDialog(null
, "exit with save ?", "message", JOptionPane.YES_NO_CANCEL_OPTION);
if(saveResult == JOptionPane.YES_OPTION){
System.out.println("YES");
return ;
}
if(saveResult == JOptionPane.NO_OPTION){
System.out.println("NO");
e.getWindow().setVisible(false);
((Window)e.getComponent()).dispose();
newUser.getInstance().release();
return ;
}
if(saveResult == JOptionPane.CANCEL_OPTION){
System.out.println("CANCEL"); //当点击取消时, return ; //想不做任何修改,返回原窗体,但显然这样实现是不对的
}请问,这个代码问题出在哪里?谢谢
监听器代码如下: private class jfAddUsrListener implements WindowListener{
public void windowClosed(WindowEvent e){
System.out.println("Closed");
}
public void windowClosing(WindowEvent e){
int saveResult = JOptionPane.showConfirmDialog(null
, "exit with save ?", "message", JOptionPane.YES_NO_CANCEL_OPTION);
if(saveResult == JOptionPane.YES_OPTION){
System.out.println("YES");
return ;
}
if(saveResult == JOptionPane.NO_OPTION){
System.out.println("NO");
e.getWindow().setVisible(false);
((Window)e.getComponent()).dispose();
newUser.getInstance().release();
return ;
}
if(saveResult == JOptionPane.CANCEL_OPTION){
System.out.println("CANCEL"); //当点击取消时, return ; //想不做任何修改,返回原窗体,但显然这样实现是不对的
}请问,这个代码问题出在哪里?谢谢
if(saveResult == JOptionPane.CANCEL_OPTION){
System.out.println("CANCEL"); //点击取消按钮时
return ; //希望不做任何操作,返回原界面,故在这里直接用了return; 但窗体还是消失了。请问为什么,该如何修改这段代码,谢谢
使窗体不之行缺省的关闭事件。 请教其他方案