windowActivated(由WindowListener实现)和windowGainedFocus(由WindowFocusListener实现)之间的主要区别是什么?
Java文档说:
windowGainedFocus:
当Window设置为焦点窗口时调用,这意味着Window或其子组件之一将接收键盘事件。
windowActivated:
当窗口设置为活动窗口时调用。只有框架或对话框可以是活动窗口。本机窗口系统可以用特殊装饰(例如突出显示的标题栏)表示活动窗口或其子级。活动窗口始终是焦点窗口,或者是焦点窗口所有者的第一个框架或对话框。
但是有什么区别呢?还是正如所说的那样,聚焦窗口是一种激活的窗口?
提前致谢!
最佳答案
来自How to Write Window Listeners,它也反映了您的问题中的引用:
windowActivated(WindowEvent)
和windowDeactivated(WindowEvent)
:
在激活或停用监听窗口后立即调用
分别。这些方法不会发送到不是
框架或对话框。因此,windowGainedFocus和
windowLostFocus方法来确定窗口何时获得或失去
重点优先。
因此,仅当窗口是框架或对话框时执行windowActivated
,而windowGainedFocus
适用于所有类型。
关于java - windowActivated和windowFocusGained之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53839062/