2011-06-17 83 views
2

我使用setAccelerator()在我的java gui中制作了加速器,除非使用相同的键绑定进行焦点对齐,否则它们将工作。是否有办法在全局启用它们,以便无论窗口焦点如何都会触发该操作?Java swing中的全局加速器

jmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, Event.CTRL_MASK)) 
+0

您的单个java程序中有两个或多个窗口具有相同的密钥绑定。而且你希望绑定全局应用于其中的一个窗口。我对吗? – MockerTim 2011-06-17 04:39:56

回答

4

看看Global Event Dispatching。您应该能够使用KeyEventDispatcher拦截任何关键事件来执行您的自定义处理。

+0

谢谢。完美的作品。 – 2011-06-18 01:55:42