/ / Під час введення текстового поля ввімкніть клавішу ENTER, щоб активувати кнопку в JavaFX

Під час набору в текстовому полі ввімкніть клавішу ENTER, щоб активувати кнопку в JavaFX - javafx-2, javafx, клавіатурні події, scenebuilder

Наприклад, натискання клавіші ENTER у вікні пошуку Google активує пошук

Я тільки що був введений в JavaFX і SceneБудівельник кілька днів тому я "я вивчаю основи тут. У мене є остання версія JavaFX і я використовую Scene Builder для полегшення подій події. Крім того, будь-які вказівки на відповідні навчальні посібники були б корисні. орієнтовані на розділ "Клавіатура" панелі кодування панелі "Сцена", особливо з подією "На ключових носіях" без результатів.

Ось "загальне уявлення про те, що я намагаюся зробити:

@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 додати файл 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" ... />