在关闭一个窗体时,要求弹出确认框,选择是,否和取消。代码是这样写的
监听器代码如下: 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 ;                                        //想不做任何修改,返回原窗体,但显然这样实现是不对的
 }请问,这个代码问题出在哪里?谢谢

解决方案 »

  1.   

    代码显示的好像有点问题,重点再写一遍
                 if(saveResult == JOptionPane.CANCEL_OPTION){
                     System.out.println("CANCEL");     //点击取消按钮时
                     return ;                          //希望不做任何操作,返回原界面,故在这里直接用了return; 但窗体还是消失了。请问为什么,该如何修改这段代码,谢谢
      

  2.   

    目前想到一个解决方案,在窗体上添加  jfAddUsr.setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
    使窗体不之行缺省的关闭事件。 请教其他方案