如何在JavaFX2中拿起正在按下的Enter键?
2022-09-01 07:57:12
我有一个用于输入搜索词的文本字段,以及一个用于“转到”的按钮。但是在JavaFX2中,我如何使它按文本字段中的Enter键可以执行操作?
谢谢:)
我有一个用于输入搜索词的文本字段,以及一个用于“转到”的按钮。但是在JavaFX2中,我如何使它按文本字段中的Enter键可以执行操作?
谢谢:)
我假设您希望在用户仅在具有焦点时按 Enter 时发生这种情况。您需要使用软件包外并执行如下操作:TextField
KeyEvent
javafx.scene.input
field.setOnKeyPressed(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent ke) {
if (ke.getCode().equals(KeyCode.ENTER)) {
doSomething();
}
}
});
使用 lambda:
field.setOnKeyPressed( event -> {
if( event.getCode() == KeyCode.ENTER ) {
doSomething();
}
} );
可以使用 TextField 的 onAction 属性,并将其绑定到控制器中的方法。
@FXML
public void onEnter(ActionEvent ae){
System.out.println("test") ;
}
在您的 FXML 文件中:
<TextField fx:id="textfield" layoutX="29.0" layoutY="298.0" onAction="#onEnter" prefWidth="121.0" />