JFrame,JDialog,JInternalFrame关闭的拦截
2009-09-22 00:00:00 来源:WEB开发网对于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
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接