例如,在Google搜索框中输入内容,点击ENTER即可激活搜索
几天前我刚刚介绍了JavaFX和Scene Builder,所以我在这里学习基础知识。我有最新版本的JavaFX,并使用Scene Builder来促进动作事件。此外,任何指向相关教程的指针都会有所帮助。在当天的某个时刻,我专注于Scene Builder编码面板的键盘部分,特别是“On Key Released”事件没有结果。提前致谢
以下是我正在尝试做的一个粗略的想法:
@FXML
Text Field theTextField;
@FXML
Button theButton;
@FXML
void ButtonPressed() {
//do stuff here
}
@FXML
//when ENTER is pressed the button is activated
void textFieldEnterPressed() {
ButtonPressed();
}
答案 0 :(得分:8)
在FXML
文件中,添加onKeyPressed
处理程序
<TextField fx:id="yourTextField" onKeyPressed="#handleEnterPressed">
在您Controller
@FXML
public void handleEnterPressed(KeyEvent event)
if (event.getCode() == KeyCode.ENTER) {
// do some actions
}
}
答案 1 :(得分:5)
在TextField中,当您按Enter键时,您会通过onAction
收到通知。在Java代码中,您可以添加:
@FXML
private void handleTFAction(ActionEvent event) {
TextField source = (TextField)event.getSource();
System.out.println("You entered: "+source.getText());
}
在FXML中(或通过JavaFX SceneBuilder设计器)将其连接到TextField的OnAction事件。在FXML中,它看起来像这样:
<TextField onAction="#handleTFAction" ... />