Я пытаюсь реализовать KeyListener
для своих JFrame
. В конструкторе, я использую этот код:Неиспользованный KeyListener для JFrame
System.out.println("test");
addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent e) { System.out.println("tester"); }
public void keyReleased(KeyEvent e) { System.out.println("2test2"); }
public void keyTyped(KeyEvent e) { System.out.println("3test3"); }
});
Когда я запускаю его, test
сообщение приходит в моей консоли. Однако, когда я нажимаю клавишу, я не получаю никаких других сообщений, как будто KeyListener
даже не был там.
Я думал, что это может быть потому, что фокус не на JFrame
и поэтому они KeyListener
не получает каких-либо событий. Но, я уверен, что так оно и есть.
Есть ли что-то, что мне не хватает?
Да, вы были правы, когда вы запускаете программу, вы можете немного увидеть, что фокус находится на кнопке A. добавление ключа для каждой кнопки фиксировало это. это немного странно, я думаю, что добавление keylistener в JFrame будет работать, но я думаю, нет. Благодаря! – Tomek
Я сделал прослушиватель на JFrame, который прослушивается с клавиатуры. Я хочу, чтобы он работал в пассивном режиме, даже если окно не спереди (сфокусировано). JFrame не прослушивается в пассивном режиме. – Usman