[英]How to use KeyEvent
我正在編寫小圖形編輯器,當我按下Ctrl + A時我想要捕獲事件
我使用這樣的代碼(這是測試版):
@Override
public void keyPressed(KeyEvent e) {
System.out.println("Press");
switch (e.getKeyCode()){
case KeyEvent.VK_A :
System.out.println("A");
break;
}
}
但我不知道如何捕捉Ctrl + a
我嘗試過這樣的事情
case KeyEvent.VK_CONTROL+KeyEvent.VK_A :
System.out.println("A+CTRL");
break;
但是這段代碼KeyEvent.VK_CONTROL+KeyEvent.VK_A
返回int,也許另一個鍵組合返回相同的數字
那么有人可以幫助我
您可以使用isControlDown()
方法:
switch (e.getKeyCode())
{
case KeyEvent.VK_A :
if(e.isControlDown())
System.out.println("A and Ctrl are pressed.");
else
System.out.println("Only A is pressed");
break;
...
}
嘗試這個.....
f.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
if ((e.getKeyCode() == KeyEvent.VK_A) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) {
System.out.println("woot!");
}
}
@Override
public void keyReleased(KeyEvent e) {
}
});
在KeyEvent
上嘗試isControlDown
方法: http : isControlDown
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.