如何在场景中显示DoubleProperty?

时间:2016-07-19 02:31:55

标签: java javafx

我希望这个totalSalesAmountProperty显示该值,但即使在更新后,并且具有实际值,它仍然不会显示。我知道这有一个值,因为我system.out getter方法,我得到一个值。为什么会发生这种情况?

Label lblTotalSales = new Label(String.valueOf(newSale.getTotalSalesAmount1()));

3 个答案:

答案 0 :(得分:0)

试试这个(getTotalSalesAmount1()的返回类型是什么?在这里我认为double

Label lblTotalSales = new Label(" " + newSale.getTotalSalesAmount1());

答案 1 :(得分:0)

您需要将标签的文字属性绑定到totalSalesAmountProperty

label.textProperty().bind(totalSalesAmountProperty);

然后,只要修改了totalSalesAmountProperty,标签文本就会自动更新。

答案 2 :(得分:0)

使用

Label lblTotalSales = new Label(String.valueOf(newSale.getTotalSalesAmount1()));

在调用String构造函数之前,将文本设置为String.valueOf(newSale.getTotalSalesAmount1())返回的Label,即它产生与

相同的结果
String s = String.valueOf(newSale.getTotalSalesAmount1());
Label lblTotalSales = new Label(s);

String在java中既不可变也不可观察,因此文本不会自动更新。

要解决此问题,请将textProperty的{​​{1}}绑定到Label的{​​{1}}版本。这会将侦听器添加到每次String更改时都会更新DoubleProperty文本的属性。

Label