我希望活動窗口(即JFrame或JDialog)能夠接收特定的keyEvent,以便無論通過窗口如ALT + F4處理焦點該按鍵事件是否按下 它只要將活動窗口對焦關閉,我嘗試覆蓋postprocesskeyEvent,但它不能正常工作寫全局監聽器
Q
寫全局監聽器
0
A
回答
1
您可以使用java.awt.Toolkit中的addAWTEventListener()方法爲您的應用程序添加全局事件偵聽器。
你需要選擇你想要當你添加聽者接收與事件掩碼的事件類型。
例如:
// Then on startup register.
AWTEventListener myGlobalKeyListener = new MyGlobalKeyListener();
Toolkey.getDefaultToolkit().addAWTEventListener(myGlobalKeyListener, AWTEvent.KEY_EVENT_MASK);
如果你試圖當用戶按下ALT-F4然後一個事件處理程序不會幫助你從關閉應用程序停止窗口。我相信操作系統通過嚮應用程序發送SIGTERM來處理這個問題。 Java沒有收到KeyEvent。
1
使用擺動時攔截擊鍵標準方法是使用Key Bindings。雖然如前所述,這仍然不適用於Alt + F4。
如果你正試圖阻止ALT + F4從關閉窗口,那麼你需要使用setDefaltCloseOperation(...)方法什麼也不做。 Closing an Application提供了有關此方法的更多信息。
相關問題
- 1. AS3監聽按鍵,但全局監聽
- 2. 全局變量的JS監聽器?
- 3. EXTJS 4 - 全局異常監聽器
- 4. C++ Win32監聽全局keybind
- 5. Android的全球監聽器
- 6. ExtJS使用Ext.KeyMap監聽全局按鍵
- 7. 寫端口監聽器
- 8. vue:從websocket監聽器發出全局事件
- 9. Android上的全局鍵盤輸入監聽器
- 10. 如何實現全局密鑰監聽器?
- 11. typescript訪問監聽器中的全局變量
- 12. 如何設置全局屬性,如果有ajax監聽器
- 13. 全局內容加載事件監聽器
- 14. Xamarin.forms grib佈局點擊監聽器
- 15. 全局熱鍵在聽寫功能
- 16. TCP監聽器停止監聽
- 17. Laravel監聽器監聽多個事件
- 18. CommunicationState監聽器?
- 19. 器件監聽器
- 20. 如何在Angular 4中編寫全局事件偵聽器?
- 21. Javascript:全局元素焦點偵聽器
- 22. Java:添加全局鼠標偵聽器
- 23. Javafx TreeView監聽器
- 24. JavaFX TextField監聽器
- 25. 監聽器丟失
- 26. GridView - Onclick監聽器
- 27. Symfony onKernelException監聽器
- 28. AS3 - MouseWheelDown監聽器
- 29. ListSelectionModel和監聽器
- 30. ExtJS CheckboxSelectionModel監聽器