Różnica między KeyBindings i KeyListeners
Jaki jest sens KeyBindings, jeśli możesz po prostu zrobić:
// Imports
public void Test {
JButton button1;
JButton button2;
JButton button3;
...
Test() {
button1 = new JButton();
button1.addKeyListener(this);
button2 = new JButton();
button2.addKeyListener(this);
button3 = new JButton();
button3.addKeyListener(this);
...
}
public void keyPressed(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
Object src = e.getSource();
if (src == button1) {
...
}
else if (src == button2) {
...
}
else if (src == button3) {
...
}
...
}
}
Powiedzmy, że mamdziesięć guziki. Następnie, jeśli użyjesz KeyBindings, będziesz musiał utworzyć osobne przypisanie klawiszy dla każdego przycisku. Czy przykład, który pokazałem, nie jest bardziej wydajny? Dlaczego nie?