我正在尝试制作一个在后台运行的热键程序,我无法弄清楚如何在按下某个键时检查它(在这种情况下是减号键)。我需要程序等待按下一个键,然后程序检查该键是否为减号键。
我现在使用伪代码的程序示例就是这些行。
while(true)
{
int pressedKey = userInputedKey;
if(pressedKey == KeyEvent.VK_MINUS)
{
//action to be executed
}
}
我在其他线程上发现了很多关于使用KeyListener的建议,但我可能没有正确使用它,所以如果您的响应是使用KeyListener请解释如何彻底使用它(要完全使用我是不明白的当KeyEvent被实例化时,它已经输入了任何键被按下作为KeyEvent中的keyCode,所以如果我在调用KeyListener时使用它,我将无法得到正确的结果)。当然,我对KeyEvent或KeyListener了解不多,所以我可能没有通过使用KeyListener以正确的方式解决我的问题。
答案 0 :(得分:1)
您可以使用KeyEvent
获取密钥代码,然后进行检查。
E.g:
someCompunent.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_MINUS) {
// do the stuff
}
}
});
答案 1 :(得分:1)
如果你想使用全局热键,当程序在任何应用程序中捕获keypress事件时 - 尝试使用JKeyMaster library(支持Windows,Linux和MAC OS中的全局hotkweys)