JFrame总是专注

时间:2014-07-08 17:22:15

标签: java swing jframe focus

我有一个需要被带到前台的Java应用程序,你必须能够按键。

我想到了一个计时器。这就像你可以玩游戏并按下一些键,计时器就会计算在内。

我有这个

@Override
public void focusLost(FocusEvent arg0) {
    System.out.println("Lost");
    TimerFrame.toFront();
    TimerFrame.requestFocus();
}

它在任务栏中闪烁,并没有一直聚焦。

1 个答案:

答案 0 :(得分:1)

您无法可靠地执行此操作,因为它被窗口管理器视为恶意行为。

有各种各样的crapware正在那个,所以在某些时候(从WindowsXP IIRC开始),一些额外的检查被添加到窗口系统,以防止弹出窗口窃取输入焦点。

虽然您可能会找到解决窗口管理器中当前限制的方法,但如果该“功能”除了烦人的用户之外还能完成任何其他操作,您应该认为 hard

这是这种完美的例子:Frame always on top of my program only