Я тестирую свой keyListener в java.Почему мой java KeyListener не работает для моего ubuntu?
Моя система в Ubuntu 14.04. Я настраиваю панель в основном и запускаю прослушиватель клавиш. Я также настраиваю значение true и выполняю requestFocusInWindow.
Но когда я запускаю программу, println никогда не появляется в консоли. смущенный этим.
package key;
import java.awt.Color;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Key extends JPanel{
public void action(){
KeyListener k = new KeyListener(){
@Override
public void keyPressed(KeyEvent k){
System.out.println("key is pressed!");
}
@Override
public void keyReleased(KeyEvent e){
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent e){
System.out.println("key is typed!");
}
};
this.addKeyListener(k);
this.setFocusable(true);
this.requestFocusInWindow();
}
public static void main(String[] args){
JFrame frame = new JFrame();
frame.setSize(400,300);
JPanel panel = new JPanel();
panel.setBackground(Color.BLUE);
frame.add(panel);
frame.setVisible(true);
Key k = new Key();
k.action();
}
}
Потому что вы с помощью 'KeyListener' , серьезно, эта вещь настолько темпераментна, проще просто использовать [Key Bindings API] (http: //docs.oracl e.com/javase/tutorial/uiswing/misc/keybinding.html), который решает проблемы, связанные с фокусом, и предлагает лучшее повторное использование кода и абстракцию – MadProgrammer
Я также надеюсь, что 'Key' был фактически добавлен в кадр в какой-то момент И рамка была сделана видимой. – MadProgrammer
Это обычная проблема с тем же решением для [пример] (http://stackoverflow.com/questions/16409352/keylistener-not-working/16409362#16409362), [exmaple] (http://stackoverflow.com/questions/21368475/keylistener-not-working-using-applet/21370349#21370349), [exmaple] (http://stackoverflow.com/questions/16028573/keylistener-is-not-working/16028698 # 16028698), [пример] (http://stackoverflow.com/questions/18029136/keylistener-not-working-requestfocus-not-fixing-it/18029321#18029321), [пример] (http: // stackoverflow .com/questions/27270284/keylistener-is-not-working-in-java/27270454 # 27270454) – MadProgrammer