小编典典

windowActivated和windowFocusGained之间的区别

java

windowActivated(由WindowListener实现)和windowGainedFocus(由WindowFocusListener实现)之间的主要区别是什么?

Java文档说:

windowGainedFocus:

当Window设置为焦点窗口时调用,这意味着Window或其子组件之一将接收键盘事件。

windowActivated:

当窗口设置为活动窗口时调用。只有框架或对话框可以是活动窗口。本机窗口系统可以用特殊装饰(例如突出显示的标题栏)表示活动窗口或其子级。活动窗口始终是焦点窗口,或者是焦点窗口所有者的第一个框架或对话框。

但是有什么区别呢?还是正如所说的那样,聚焦窗口是一种激活的窗口?

提前致谢!


阅读 358

收藏
2020-11-30

共1个答案

小编典典

来自“
如何编写窗口侦听器”,它也反映了您的问题中的引用:

windowActivated(WindowEvent)windowDeactivated(WindowEvent)

分别在激活或禁用监听窗口之后调用。这些方法不会发送到不是框架或对话框的窗口。因此,首选使用windowGainedFocus和windowLostFocus方法来确定窗口何时获得焦点或失去焦点。


所以,windowActivated只有 当窗口的框架或对话框中执行,而windowGainedFocus对于所有类型。

2020-11-30