我有三个文本框tfNet,tfVat和tfGross。 (我的应用程序我做的所有与Java的钱在这个例子中双。)JavaFx8 3 TextField。在一个文本框上输入,更新另一个文本框
我想要什么: 当我改变热带水果网络应该更新
tfGross.setText("" + (Double.parseDouble(tfNet.getText()) *
(1 + Double.parseDouble(tfVat.getText())/100)));
当我改变tfVat
tfNet.setText("" + (Double.parseDouble(tfGross.getText())/
(1 + Double.parseDouble(tfVat.getText())/100)));
当我改变tfGross
tfNet.setText("" + (Double.parseDouble(tfGross.getText())/
(1 + Double.parseDouble(tfVat.getText())/100)));
我尝试使用TextFormatter为所有三个Textfield,但陷入循环。
然后尝试与NumberBinding,但无法弄清楚如何做到这一点。
什么是JavaFx的方式来做到这一点?
1)将SimpleDoubleProperty绑定到文本字段并将addListener绑定到DoubleProperty?
或
2)或者TextField的setOnAction?
有没有简单的方法来做到这一点?
我不明白的第三个要求。当你改变'tfGross'时,你想要改变'tfGross'?这不仅仅意味着你不希望用户能够编辑'tfGross'吗? –
你是对的。我编辑第三个。 –