我有一个用于输入搜索词的TextField,以及一个用于"Go“的按钮。但在JavaFX2中,我如何才能让按下TextField中的Enter键来执行操作呢?
谢谢:)
发布于 2012-12-14 23:44:54
您可以使用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" />
发布于 2012-12-14 23:39:02
我假设您希望只有在TextField
具有焦点的情况下用户按enter时才会发生这种情况。您将希望在javafx.scene.input
包之外使用KeyEvent
,并执行以下操作:
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();
}
} );
发布于 2015-10-23 01:34:11
您可以尝试以下操作:
@FXML
public void buttonPressed(KeyEvent e)
{
if(e.getCode().toString().equals("ENTER"))
{
//do something
}
}
https://stackoverflow.com/questions/13880638
复制相似问题