WEB开发网
开发学院软件开发Java JFrame,JDialog,JInternalFrame关闭的拦截 阅读

JFrame,JDialog,JInternalFrame关闭的拦截

 2009-09-22 00:00:00 来源:WEB开发网   
核心提示: 对于JInternalFrame,它是一个轻量级组件,JFrame,JDialog,JInternalFrame关闭的拦截(2),所以它的确认关闭需要做其他处理,查找API就会很发现有这么个方法:doDefaultCloseAction是处理关闭事件的处理,这里就有点击关闭调用doDefault

对于JInternalFrame,它是一个轻量级组件,所以它的确认关闭需要做其他处理,查找API就会很发现有这么个方法:doDefaultCloseAction

是处理关闭事件的处理,如果您不放心确实是这个方法,那么你就去找那个关闭按钮发事件的地方才放心的话,那么我们也很容易找到在

JInternalFrame的Title是由BasicInternalFrameTitlePane这个类中负责绘制的,这里就有点击关闭调用doDefaultCloseAction方法的,既然如此那么重写这方法就OK了,代码如下:

/** *//***
             * 重写此方法让用户确认是否需要关闭
             * */
            @Override
            public void doDefaultCloseAction(){
                //关闭的提示选择
                int result= JOptionPane.showConfirmDialog(
                          this,
                          ("确认要关闭JInternalFrame吗?"),
                          ("关闭"),
                          JOptionPane.YES_NO_OPTION);
                  if(result == JOptionPane.YES_OPTION){
                      //如果选择YES,交由上层设置的关闭处理
                      super.doDefaultCloseAction();
                  }
            }

Tags:JFrame JDialog JInternalFrame

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接