关于Java窗口响应事件 windowsDeactivated
2015-04-29 01:38
330 查看
在写代码时遇到这样的问题,debug的时候发现windowAdapter 里的windowDeactivated这个方法里的函数一直在被调用。不间断地一直被调用,这让我很不解。
API上只有短短的一句话,“Invoked when a window is de-activated.”这不跟废话一样吗?
//while closing this frame, update the main frame's image
addWindowListener(new WindowAdapter(){
@Override
public void windowClosed(WindowEvent e) {
super.windowDeactivated(e);
……
}
});
然后就上网查,怎么也查不到java的关于windowDeactivated的更多的解释。后来索性看了看C++里的Windows.Deactivated这个方法的解释,心里想着反正各种语言也各有通的地方,说不定一样呢?果然,我看到了原因。
——
当,停用窗口 (成为后台窗口):
用户切换到当前应用程序的另一个窗口。
用户切换到另一个应用程序的窗口通过使用 ALT+TAB 或使用任务管理器。
用户单击一个窗口的任务栏按钮在其他应用程序。
需要检测的窗口它们何时将停用通过处理 Deactivated 事件。
在首次停用窗口后,在其生存期内,它可以重新激活和停用了多次。 如果应用程序行为或状态取决于其启动状态,它可以检查 IsActive 确定哪个启动状态它。
我想,原因就是我弹出了另一个窗口,这时候此窗口并不处于activated的状态,它被“闲置”了,所以里面的方法不断地被调用,不断地被调用。然后我改成了windowsClosed,一切问题就解决了。这里要注意,我之前用windowsClosing,只有在点击右上角X的时候有效,如果点按钮dispose()退出,是不会进入windowsClosing里面的,因为dispose()只是释放部分资源而不是关闭窗口,但是我找到其他办法去只不关闭某个窗口而不退出整个程序了,有好方法大家可以分享一下,求教。
API上只有短短的一句话,“Invoked when a window is de-activated.”这不跟废话一样吗?
//while closing this frame, update the main frame's image
addWindowListener(new WindowAdapter(){
@Override
public void windowClosed(WindowEvent e) {
super.windowDeactivated(e);
……
}
});
然后就上网查,怎么也查不到java的关于windowDeactivated的更多的解释。后来索性看了看C++里的Windows.Deactivated这个方法的解释,心里想着反正各种语言也各有通的地方,说不定一样呢?果然,我看到了原因。
——
当,停用窗口 (成为后台窗口):
用户切换到当前应用程序的另一个窗口。
用户切换到另一个应用程序的窗口通过使用 ALT+TAB 或使用任务管理器。
用户单击一个窗口的任务栏按钮在其他应用程序。
需要检测的窗口它们何时将停用通过处理 Deactivated 事件。
在首次停用窗口后,在其生存期内,它可以重新激活和停用了多次。 如果应用程序行为或状态取决于其启动状态,它可以检查 IsActive 确定哪个启动状态它。
我想,原因就是我弹出了另一个窗口,这时候此窗口并不处于activated的状态,它被“闲置”了,所以里面的方法不断地被调用,不断地被调用。然后我改成了windowsClosed,一切问题就解决了。这里要注意,我之前用windowsClosing,只有在点击右上角X的时候有效,如果点按钮dispose()退出,是不会进入windowsClosing里面的,因为dispose()只是释放部分资源而不是关闭窗口,但是我找到其他办法去只不关闭某个窗口而不退出整个程序了,有好方法大家可以分享一下,求教。
相关文章推荐
- 关于java图形界面开发下拉框和文本域以及其响应事件
- Java 事件响应浅索(Swing,鼠标事件,窗口事件,键盘事件)
- Java版SLG游戏开发入门[0]--让绘制的窗口响应鼠标事件
- 关于JAVA回调函数和Android事件响应
- Java版SLG游戏开发入门[0]--让绘制的窗口响应鼠标事件
- Java 设置窗口系统关闭按钮的事件响应
- java初级,窗口关闭与button与事件响应
- JAVA Frame 响应窗口关闭事件
- 关于JAVA回调函数和Android事件响应
- Java版SLG游戏开发入门[0]--让绘制的窗口响应鼠标事件 推荐
- JAVA作业 窗口响应鼠标事件:鼠标在画布上画圆
- 小技巧:使NSPanel窗口正确响应托管事件
- java常见事件响应方法实例汇总
- 关于Java的Mouse事件 单击、双击问题
- 关于XTToolkitPro中DialogPanes无法响应OnDockingPaneNotify事件的解决办法。
- Android关于嵌套listView时onItemClick事件不响应的解决方法
- java窗口事件
- 关于listview重写onintercepttouchevent不响应move和up事件
- 《C语言到底能干什么》1.6 让窗口响应鼠标的事件
- (4.4.14.1)Android_关于子控件和父控件的事件响应问题