public void start(Stage primaryStage) throws Exception {
// TODO Auto-generated method stub
Pane p = new Pane();
p.setPrefSize(400, 300);
Button btn = new Button("Submit");
btn.relocate(10, 10);
TextField tf = new TextField();
tf.relocate(10, 40);
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
text = tf.getText();
System.out.println(text);
}
});
btn.setOnKeyPressed(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event) {
if(event.getCode().equals(KeyCode.ENTER))
text = tf.getText();
System.out.println(text);
}
});
p.getChildren().addAll(btn,tf);
Scene sc = new Scene(p);
primaryStage.setScene(sc);
primaryStage.show();
}
Hier ist mein Code. Wie Sie sehen können, habe ich zwei EventHandler. Eine, die prüft, ob Enter gedrückt wird und die andere, die prüft, ob die Taste gedrückt ist. Mein Ziel ist es, eine Methode zu erstellen und wann immer einer dieser beiden EventHandler aktiviert wird, benötigt er Eingaben von TextFields.Wie macht man eine Methode, die mit Ereignissen umgehen kann?
In diesem Beispiel habe ich nur ein TextField, aber in meiner Anwendung habe ich viele von ihnen, wenn ich das gleiche in zwei EventHandlers mache, verdoppele ich meinen Code. Ich denke, dass es eine Möglichkeit gibt, eine Methode zu machen, die das für mich tun wird.
nennen können, wenn alles, was Sie eine Methode wollen, ist die Wirkung beiden Zuhörer zu tun, dann haben Sie versucht, eine zu machen Methode, die den Text des TextFields abruft und ausdruckt? –
Mögliches Duplikat von [JavaFX, wie man mehrere EventHandler in einem Registrierungsformular kombiniert?] (Http://StackOverflow.com/questions/37236478/javafx-how-to-combine-more-eventhandlers-in-one-registration-form) –
Sie können Ihre alte Frage mit Code bearbeiten. Bitte nicht repost –