Как обрабатывать несколько ввода текстового поля в 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...
}
Другие вопросы по тегам