Ich habe ein Dateneingabeformular mit 3 Schaltflächen: "Speichern/Weiter", "Löschen" und "Beenden". Ich möchte, dass die Schaltfläche "Speichern/Weiter" eine eigene Funktion ausführt. Wenn Sie dann den Fokus auf die Schaltfläche "Löschen" setzen und die Ausführung veranlassen, setzen Sie alle Textfelder zurück, damit sie für den nächsten Datensatz bereit sind. Ich hatte gehofft zu vermeiden, alle Clearing-Code-Zeilen in den Event-Handler für die Schaltfläche Speichern kopieren.java Erstellen eines anderen Ereignisses in einem Event-Handler
Gibt es eine einfache Möglichkeit, programmgesteuert das Ereignis zu erstellen, das die Clear-Schaltfläche eventHandler erkennt (in diesem Fall die EINGABETASTE) und damit ohne Benutzereingabe ausgeführt wird?
btnClear.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
barcodeText1.clear();
barcodeText2.clear();
//
// more clearing statements here...
//
statusContent.setText(stStatusTextScan1);
barcodeText1.requestFocus(); //return focus to first field
}// end handle
});//end btnClear
// Save Button Event Handler ..............................................
btnSave.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
//
// Do some Saving stuff...
//
// Record saved. Now reset the form for the next record...
btnClear.requestFocus();
// Put something here that will mimick pressing ENTER key...
Event e = new Event(<KeyEvent>);
}// end handle
});// end btnSave
Was ist die Klasse Ihrer Tasten? Welches GUI Framework verwenden Sie? AWT? – ostrichofevil
Oder verwenden Sie Lambda-Ausdrücke https://docs.oracle.com/javase/tutorial/java/javaOO/lambdausexpressions.html#lambda-expressions-in-gui-applications – efekctive
javafx.scene.control.Button – outbacktommy