Java JTextArea KeyListener
Wenn ich drückte auf die ENTER-meine JTextArea beginnt eine neue Zeile, und ich möchte nur tun, um die doClick () - Methode nichts anderes.
Wie soll ich das machen?
textarea.addKeyListener(new KeyListener(){
@Override
public void keyPressed(KeyEvent e){
if(e.getKeyCode() == KeyEvent.VK_ENTER){
button.doClick();
}
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
}
});
- verwenden Sie nicht keyListeners an alle (Fragen, wie Ihr code möglicherweise funktionieren können: Sie haben justierbares Etiketten? Wie seltsam und für den Benutzer verwirrend ...) - keyBindings verwenden
InformationsquelleAutor PETI258 | 2013-08-28
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
.consume()
:Dokumentation
Sollten Sie verwenden KeyBindings mit jedem
JTextComponent
in Frage.KeyListeners
sind viel zu niedrigen Niveau vonSwing
's Perspektive. Sie sind mit dem Konzept, das bezog sich aufAWT
,Swing
verwendetKeyBindings
zu tun, die gleiche Aufgabe mit mehr Effizienz und liefert gewünschte Ergebnisse 🙂Einem kleinen Programm für deine Hilfe :
KeyBindings
&SSCCE