退出Java程序会导致Mac OS X窗口切换无法正常工作

时间:2014-04-06 20:19:08

标签: java macos swing

在我编程的Mac上,我安装了一个名为BetterTouchTool的应用程序,它允许我将键盘快捷键绑定到“手势”。在我的触控板上。我将快捷方式命令 + Q 绑定了一个手势(没有Apple默认值),退出活动程序。我发现这对于快速退出我正在测试的程序非常方便,因此我可以回到编写代码。

然而,对于我正在编程的图形游戏,此操作使得我无法使用三指滑动在窗口之间切换(其他几个手势也被禁用)。如果我进入菜单并单击退出或单击红色x关闭按钮,也会发生这种情况。解决方法是重启我的电脑或(这真的很奇怪)点击调用System.exit(0);的游戏内关闭按钮。我知道大多数玩家都会使用它,但我仍然想知道为什么会这样。此外,像我的计算机上的Minecraft这样的游戏不会这样做。

我在代码中使用JFrame setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);。为了解决这个问题,我尝试注册在处理程序中调用com.apple.eawt.QuitHandler的{​​{1}}。

我不知道这里的相关代码是什么,所以无论你想看到什么,请告诉我。

1 个答案:

答案 0 :(得分:0)

我明白了。我的Thread.sleep()中有一个JFrame来电,它以某种方式影响了我的系统。