其他文本字段更改时触发特定文本字段的计算

时间:2019-05-14 21:18:40

标签: events javafx javafx-8 listener eventhandler

我是JavaFX的新手,我想执行以下操作:

每当我四个文本字段之一的值更改时,我都希望第五个文本字段计算其他文本字段的值之和。让我们假设这些值已经是数字了。

代码如下:

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

如何正确执行此操作?是否在每个powerXKW-TextField上添加一个ChangeListener?并计算变化吗?

还是我需要为我的powerSumKW-Textfield添加一个EventHandler?如何处理仅由powerXKW-TextFields触发的事件?

任何建议将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

我只是将第五个文本字段的textProperty绑定到其他文本字段..类似这样的东西:

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