【问题标题】:How to check if the user leaves the JFrame window?如何检查用户是否离开 JFrame 窗口?
【发布时间】:2021-06-29 16:49:21
【问题描述】:

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

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

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

这个数组列表基本上可以使用keyPressedkeyReleased 方法。如果按下某个键,则其代码将进入数组列表。如果键被释放,则退出数组列表。 然后我在这个程序的开头测试了很多,我注意到如果我在按下任何键的同时离开框架然后我释放键(不在框架中)然后程序不知道我释放了键。

那我怎么知道按键是否仍然被按下,或者知道用户何时离开框架窗口上的“注意”。

【问题讨论】:

标签: java swing jframe keylistener


【解决方案1】:

你应该在你的JFrame

中实现WindowListener

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-01-09
      • 1970-01-01
      • 2013-06-28
      • 2020-05-15
      • 1970-01-01
      • 2012-08-18
      • 2011-10-30
      • 2018-11-06
      • 1970-01-01
      相关资源
      最近更新 更多