Запуск расчета для конкретного текстового поля при изменении других текстовых полей - PullRequest
0 голосов
/ 15 мая 2019

Я новичок в JavaFX и хотел бы сделать следующее:

Всякий раз, когда изменяется значение одного из моих четырех текстовых полей, я бы хотел, чтобы пятое текстовое поле вычисляло сумму значений издругие.Предположим, что значения уже представлены в виде чисел.

Код выглядит следующим образом:

power1KW = new TextField();
power2KW = new TextField();
... etc.
powerSumKW = new TextField();

Как мне сделать это правильно?Я добавляю ChangeListener на каждое из моих powerXKW-TextFields?И рассчитывать на изменение?

Или мне нужно добавить EventHandler для моего powerSumKW-Textfield?Как я могу обработать Событие, инициированное только powerXKW-TextFields?

Буду признателен за любой совет.Спасибо!

1 Ответ

1 голос
/ 21 мая 2019

Я бы просто связал textProperty 5-го текстового поля с другими текстовыми полями, примерно так:

tf5.textProperty().bind(Bindings.createStringBinding(()->{
           //Do your calculation
           //Return result as String
           return result;
        }, tf1.textProperty(),tf2.textProperty(), tf3.textProperty(), tf4.textProperty()));
...