gpt4 book ai didi

java - f9 键的 KeyEvent getActionCommand?

转载 作者:行者123 更新时间:2023-12-01 23:16:00 25 4
gpt4 key购买 nike

当键盘按键全部正常(a-z)时,我处理某些按键的代码工作正常,但现在我想将默认屏幕截图键设置为 F9

if (e.getActionCommand().toUpperCase().equals(configFile.getProperty("TOGGLE_ATTACK_KEY"))){
inAttackMode = !inAttackMode;
} else if (e.getActionCommand().toUpperCase().equals(configFile.getProperty("SCREENSHOT_KEY"))){
当我按 F9 键时,

e.getActionCommand() 返回 null。注册此 key 的代码在这里:

theDesktop.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("released " + configFile.getProperty("SCREENSHOT_KEY")), "f9ButtonRelease");
theDesktop.getActionMap().put("f9ButtonRelease", ClassKeyReleaseHandler);

感谢您对此的任何帮助...我尝试搜索 Google 和 SO,但没有看到任何具体内容。还尝试使用 VK_F9 进行注册,但它只能用 F9 触发(无论哪种方式,当我按 F9 时它都会返回 null)。感谢您的帮助。

最佳答案

使用键绑定(bind)的原因之一是避免使用嵌套的 if/else 语句。相反,您为键绑定(bind)创建一个唯一的操作,那么该操作命令就无关紧要了。

//theDesktop.getActionMap().put("f9ButtonRelease", ClassKeyReleaseHandler);
theDesktop.getActionMap().put("f9ButtonRelease", ScreenShotReleaseHandler);

这是在 Swing 中创建所有默认操作的方式。

关于java - f9 键的 KeyEvent getActionCommand?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21200845/

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