gpt4 book ai didi

java - 编写全局监听器

转载 作者:行者123 更新时间:2023-12-02 08:36:17 25 4
gpt4 key购买 nike

我希望 Activity 窗口(即 JFrame 或 JDialog)接收特定的 keyEvent,以便无论在何处焦点由窗口处理,例如 ALT+F4(如果您按下)它在聚焦 Activity 窗口将关闭的地方,我尝试覆盖 postprocesskeyEvent 但它不能正常工作

最佳答案

您可以使用 java.awt.Toolkit 中的 addAWTEventListener() 方法向应用程序添加全局事件监听器。

http://java.sun.com/javase/6/docs/api/java/awt/Toolkit.html#addAWTEventListener%28java.awt.event.AWTEventListener,%20long%29

添加监听器时,您需要使用事件掩码选择要接收的事件类型。

例如:

// Then on startup register.
AWTEventListener myGlobalKeyListener = new MyGlobalKeyListener();

Toolkey.getDefaultToolkit().addAWTEventListener(myGlobalKeyListener, AWTEvent.KEY_EVENT_MASK);

如果您试图在用户按下 ALT-F4 时阻止 Windows 关闭您的应用程序,那么事件处理程序将无法帮助您。我相信操作系统通过向应用程序发送 SIGTERM 来处理此问题。 Java 不会为此接收 KeyEvent。

关于java - 编写全局监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1656671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com