检查窗口是否再次具有键盘焦点

时间:2013-05-14 15:06:30

标签: java swing keyboard jframe awt

前言

我正在设计一个应用程序,它将在一个阶段将键盘焦点移除并重定向到另一个应用程序。有问题的应用程序是Google-Chrome。在这个阶段,我的程序应该暂停,或者完全停止它的操作,直到返回键盘焦点。

一些额外信息:

  • 我的应用程序是用Java编写的
  • 授予键盘焦点的应用程序是Google-Chrome

我需要什么

测试JFrame是否具有键盘焦点的方法可能是:

JFrame.hasScreenFocus()

或者那种效果。

2 个答案:

答案 0 :(得分:2)

将任何其他弹出窗口设置为模态对话框,这将成为一个非常简单的问题。焦点将在调用dialog.setVisible(true)的行之后的代码行返回父窗口。

另见The Use of Multiple JFrames, Good/Bad Practice?

答案 1 :(得分:2)

您应该可以使用WindowListener并监听windowActivated()事件。您可能还需要听取windowDeactivated()来停止当前的处理。