微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何检查用户是否离开 JFrame 窗口?

如何解决如何检查用户是否离开 JFrame 窗口?

我正在编写一个可以输入文本的程序。我还添加了快捷方式系统,但我看到了一些困扰我的东西。

所以我创建了一个 JFrame,它监听扩展 KeyListener 接口的类。

我创建了一个 ArrayList,用于存储所有被按下的键的代码

这个数组列表基本上与 keypressedkeyreleased 方法一起工作。如果按下某个键,则其代码进入数组列表。如果键被释放,则它退出数组列表。 然后我在程序开始时测试了很多,我注意到如果我在按下任意键的同时离开框架然后我释放键(然后不在框架中)那么程序不知道我释放了键。

那我怎么知道按键是否还在被按下,或者知道用户什么时候离开了框架窗口的“注意力”。

解决方法

您应该在 JFrame

中实现 WindowListener

windowActivated 事件看起来像您需要使用的特定事件。

,

如果 JFrame 位于前台,则 JFrame 的 hasFocus() 方法将返回 true,否则返回 false。换句话说,如果用户在 JFrame 之外点击或以其他方式切换,hasFocus() 将返回 false。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。