I have a TextField to enter a search term, and a button for "Go". But in JavaFX2, how would I make it so pressing the Enter Key in the TextField would perform an action?
Thanks :)
I'm assuming you want this to happen when the user presses enter only while the TextField
has focus. You'll want use KeyEvent
out of javafx.scene.input
package and do something like this:
field.setOnKeyPressed(new EventHandler<KeyEvent>() { @Override public void handle(KeyEvent ke) { if (ke.getCode().equals(KeyCode.ENTER)) { doSomething(); } } });
Using lambda:
field.setOnKeyPressed( event -> { if( event.getCode() == KeyCode.ENTER ) { doSomething(); } } );
You can use the onAction attribute of the TextField and bind it to a method in your controller.
@FXML public void onEnter(ActionEvent ae){ System.out.println("test") ; }
And in your FXML file:
<TextField fx:id="textfield" layoutX="29.0" layoutY="298.0" onAction="#onEnter" prefWidth="121.0" />
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With