Как обрабатывать несколько ввода текстового поля в javaFX8?
Когда Unit TextField и Number TextField в Фокусе, тогда вводимое значение должно быть введено соответственно.
void requestFocus(){
Platform.runLater(new Runnable() {
@Override
public void run() {
UnitText.requestFocus();
System.out.println("Request focus thread");
}
});
}
@Override
public void initialize(URL url, ResourceBundle rb) {
UnitText.requestFocus();
}
1 ответ
Решение
Ты можешь сделать
private TextField lastFocusedTextField ;
@Override
public void initialize(URL location, ResourceBundle resources) {
lastFocusedTextField = unitText ;
unitText.focusedProperty().addListener((obs, wasFocused, isNowFocused) -> {
if (isNowFocused) {
lastFocusedTextField = unitText ;
}
});
quantityText.focusedProperty().addListener((obs, wasFocused, isNowFocused) -> {
if (isNowFocused) {
lastFocusedTextField = quantityText;
}
});
}
А теперь в твоих кнопках обработчики делают
@FXML
public void handleButton() {
// process button press in lastFocusedTextField...
}