java 如何检查用户是否按下了某个键?
In java how do I check if a user is pressing a certain key?
我正在尝试制作一个在后台运行的热键程序,但我不知道如何让它在按下某个键(在本例中为减号键)时进行检查。我需要程序等待按下某个键,然后程序检查该键是否为减号键。
我的程序的一个例子,现在是伪代码,就在这些地方。
while(true)
{
int pressedKey = userInputedKey;
if(pressedKey == KeyEvent.VK_MINUS)
{
//action to be executed
}
}
我在其他线程上发现了很多使用 KeyListener 的建议,但我可能没有正确使用它,所以如果你的回答是使用 KeyListener,请解释如何彻底使用它(确切地说我没有了解当 KeyEvent 被实例化时,它已经将按下的任何键的输入作为该 KeyEvent 中的 keyCode,因此如果我在对 KeyListener 的调用中使用它,我将不会得到正确的结果)。当然,我对 KeyEvent 或 KeyListener 了解不多,所以我可能没有尝试使用 KeyListener 以正确的方式解决我的问题。
您可以使用KeyEvent
获取密钥代码,然后查看。
例如:
someCompunent.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_MINUS) {
// do the stuff
}
}
});
如果您想使用全局热键,当程序在任何应用程序中捕获按键事件时 - 尝试使用 JKeyMaster library(在 Windows、Linux 和 [=15= 中支持全局热键] OS)
我正在尝试制作一个在后台运行的热键程序,但我不知道如何让它在按下某个键(在本例中为减号键)时进行检查。我需要程序等待按下某个键,然后程序检查该键是否为减号键。
我的程序的一个例子,现在是伪代码,就在这些地方。
while(true)
{
int pressedKey = userInputedKey;
if(pressedKey == KeyEvent.VK_MINUS)
{
//action to be executed
}
}
我在其他线程上发现了很多使用 KeyListener 的建议,但我可能没有正确使用它,所以如果你的回答是使用 KeyListener,请解释如何彻底使用它(确切地说我没有了解当 KeyEvent 被实例化时,它已经将按下的任何键的输入作为该 KeyEvent 中的 keyCode,因此如果我在对 KeyListener 的调用中使用它,我将不会得到正确的结果)。当然,我对 KeyEvent 或 KeyListener 了解不多,所以我可能没有尝试使用 KeyListener 以正确的方式解决我的问题。
您可以使用KeyEvent
获取密钥代码,然后查看。
例如:
someCompunent.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_MINUS) {
// do the stuff
}
}
});
如果您想使用全局热键,当程序在任何应用程序中捕获按键事件时 - 尝试使用 JKeyMaster library(在 Windows、Linux 和 [=15= 中支持全局热键] OS)