0
我有一個主JFrame和其他JDialog和JFrame的應用程序。捕捉應用程序的所有KeyEvent
我希望用戶能夠在他按F7時進行截圖。
我在主框架上有一個KeyListener,但當框架失去焦點時它不會工作。
有沒有比添加KeyListener到所有窗口更好的實現我想要的?
謝謝你的幫助。
我有一個主JFrame和其他JDialog和JFrame的應用程序。捕捉應用程序的所有KeyEvent
我希望用戶能夠在他按F7時進行截圖。
我在主框架上有一個KeyListener,但當框架失去焦點時它不會工作。
有沒有比添加KeyListener到所有窗口更好的實現我想要的?
謝謝你的幫助。
好的我找到了我正在尋找的KeyboardFocusManager,負責將所有KeyEvent調度到焦點元素。
以下是它是如何工作的:
KeyboardFocusManager.getCurrentKeyboardFocusManager()
.addKeyEventDispatcher(e -> {
if (e.getKeyCode() == KeyEvent.VK_F7 &&
e.getID() == KeyEvent.KEY_RELEASED) {
//do something
}
return true; //dispatch the event
});