Ich möchte den Fokus ändern, wenn ein Benutzer die EINGABETASTE in einer Combobox drückt. Erstens habe ich einen Action-Listener verwendet, aber dieser wird auch ausgelöst, wenn ein Benutzer seinen Wert ändert, indem er die Pfeiltaste nach oben oder unten drückt oder den Wert im Dropdown-Menü auswählt.JavaFX Combobox: Handeltaste für Eingabe gedrückt
Daher dachte ich, dass ich das durch die Registrierung eines Key-Handlers lösen könnte. Aber es funktioniert nicht für die EINGABETASTE.
Gibt es eine Möglichkeit, mein Problem zu lösen?
Edit:
Leider dachte ich, dass mein Intro genug ist.
So habe ich wenig Form mit einigen Textfeldern und einer ComboBox. Um die Benutzerfreundlichkeit zu erhöhen, muss der Benutzer lediglich die Eingabetaste drücken, um zum nächsten Feld zu wechseln. Dies funktioniert gut für Textfelder:
textfield.setOnAction(e -> {
cmbTax.requestFocus();
});
Aber wenn ich ein Action-Listener registrieren, wäre es nicht meine Anforderungen erfüllen, weil es immer dann ausgelöst wird, wenn der Wert geändert wird:
cmbTax.setOnAction(e->textfield2.requestFocus());
Also habe ich versucht, ein Schlüssel Hörer, aber es reagierte nicht auf ENTER, weil es intern gehandhabt wird, bevor meine Zuhörer genannt würde:
cmbTax.getEditor().setOnKeyPressed(this::handleKeyPressedForComboBox);
Grüße
Beitrag [MCVE], zeigen, was Sie bisher getan haben und descibe wo Sie Problem haben. – MBec