Я немного новичок в Java, поэтому, извините, если я что-то делаю неправильно. Я хочу, чтобы моя программа сказала The W key has been pressed
, когда я нажимаю кнопку W
. У меня с этим немного проблем. Вот план моего кода: Java - проблемы с KeyListener
public class Main extends JFrame implements ActionListener, KeyListener {
public void keyListener(){
addKeyListener(this);
setFocusable(true);
setFocusTraversalKeysEnabled(false);
}
public void keyPressed(KeyEvent e) {
int code = e.getKeyCode();
if (code == KeyEvent.VK_W){
System.out.println("W is pressed");
}
}
@SuppressWarnings("null")
public static void main(String[] args) throws InterruptedException {
//Initial things like variables and JFrame setup (Like: JFrame frame = new JFrame("FrameDemo");)
for(step = 0; step == step; step++){
for(i = 0; i < constructor.length; i++){
//Some code
constructor[i].draw(g);
}
}
}
}
KeyListener не реагирует вообще. Я думаю, это может быть из-за цикла, но я честно понятия не имею. Может ли кто-нибудь объяснить, почему это происходит и как я могу это исправить?
Не используйте KeyListeners. Использовать привязки клавиш – ControlAltDel
Где вы создаете экземпляр класса 'Main'? Кажется, код здесь отсутствует. – Berger
Этот код не компилируется – ControlAltDel