1
KeyListener已添加到名爲_window的JFrame中。無論何時按下某個鍵,它都會打印出用於測試它的行,但不會打印特定的鍵,如VK_A。有人可以告訴我爲什麼嗎?我的第一個想法是,這不是可以關注的,但是KeyLis根本就不會打印出來,如果是這樣的話,是正確的?KeyListener可以工作,但不會區分特定的鍵
public class Gui implements Runnable {
public Gui() { }
private JFrame _window;
@Override
public void run() {
_window = new JFrame("Window");
...
_window.addKeyListener(new KeyLis());
}
class KeyLis implements KeyListener{
@Override
public void keyTyped(KeyEvent e) {
System.out.println("A key has been typed!");
if(e.getKeyCode() == KeyEvent.VK_A){
System.out.print("A! ");
}
...
}
在此代碼中,「A!」將不會打印,而是「鍵已輸入!」將。爲什麼?
我會嘗試使用按鍵綁定,但對於這個特定的任務,我的教授想要一個KeyListener的。不知道爲什麼...但謝謝你的片段,我不知道。以前從未使用過鍵盤輸入,這非常有幫助。 – MaddoxJKingsley