我在一个JDesktopPane里面同时打开两个JInternalFrame,是这样加的
jDesktopPane1.add(frame1,JDesktopPane.PALETTE_LAYER);
这时我如果关闭一个frame1的话,另一个frame2可以正常获得焦点。但是问题是我现在要改写JInternalFrame的close事件,我是这样的
frame.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);frame.addInternalFrameListener(new InternalFrameListener(){
public void internalFrameDeactivated (InternalFrameEvent e){}
public void internalFrameActivated (InternalFrameEvent e){}
public void internalFrameOpened(InternalFrameEvent e){};
public void internalFrameClosed(InternalFrameEvent e){};
public void internalFrameIconified(InternalFrameEvent e){};
public void internalFrameDeiconified(InternalFrameEvent e){};
public void internalFrameClosing (InternalFrameEvent ife){
//一堆处理
ife.getInternalFrame().dispose(); }
};
这时窗口关闭,但是第二个frame不能自动获到焦点,这是什么原因啊??JInternalFrame的关闭按钮触发的是什么事件,不是dispose()那有是什么呢??
这个问题今天困扰我一整天了,高手帮帮忙啊!!!先谢谢了。
jDesktopPane1.add(frame1,JDesktopPane.PALETTE_LAYER);
这时我如果关闭一个frame1的话,另一个frame2可以正常获得焦点。但是问题是我现在要改写JInternalFrame的close事件,我是这样的
frame.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);frame.addInternalFrameListener(new InternalFrameListener(){
public void internalFrameDeactivated (InternalFrameEvent e){}
public void internalFrameActivated (InternalFrameEvent e){}
public void internalFrameOpened(InternalFrameEvent e){};
public void internalFrameClosed(InternalFrameEvent e){};
public void internalFrameIconified(InternalFrameEvent e){};
public void internalFrameDeiconified(InternalFrameEvent e){};
public void internalFrameClosing (InternalFrameEvent ife){
//一堆处理
ife.getInternalFrame().dispose(); }
};
这时窗口关闭,但是第二个frame不能自动获到焦点,这是什么原因啊??JInternalFrame的关闭按钮触发的是什么事件,不是dispose()那有是什么呢??
这个问题今天困扰我一整天了,高手帮帮忙啊!!!先谢谢了。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货