/ / Докато пишете в текстово поле, активирайте клавиш ENTER, за да активирате бутон в JavaFX - javafx-2, javafx, клавиатура-събития, scenebuilder

Докато пишете в текстово поле, активирайте клавиша ENTER, за да активирате бутон в JavaFX - javafx-2, javafx, клавиатура-събития, scenebuilder

Като въвеждането в полето за търсене на Google, натискането на ENTER активира търсенето

Току-що се запознах с JavaFX и SceneBuilder преди няколко дни, така че "научавам основните неща тук. Имам най-новата версия на 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();
}

Отговори:

8 за отговор № 1

Във вашия FXML файл, добавете a onKeyPressed секундант

 <TextField fx:id="yourTextField" onKeyPressed="#handleEnterPressed">

Въведете манипулатора в себе си Controller

@FXML
public void handleEnterPressed(KeyEvent event)
if (event.getCode() == KeyCode.ENTER) {
// do some actions
}
}

5 за отговор № 2

В 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 дизайнер) го свържете с вашето OnAction събитие на TextField.

<TextField onAction="#handleTFAction" ... />