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



我正在编写一个可以键入文本的程序。我还添加了一个快捷系统,但我发现有点麻烦。

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

我创建了一个ArrayList,存储了正在按下的所有键的代码。

此数组列表基本上与keyPressedkeyReleased方法一起使用。如果按下某个键,则其代码将进入数组列表。如果释放了该键,那么它将退出数组列表。然后我在这个程序开始的时候测试了很多,我注意到如果我在按下任何键的时候离开框架,然后我释放了这个键(当时不在框架中(,那么程序就不知道我释放了那个键。

那么我怎么能知道按键是否仍在按下,或者知道用户何时离开";注意";在框架窗口上。

您应该在JFrame中实现WindowListener

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

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

最新更新