我正在try 创建一个包含LineItem
个金额的列表的绑定,行如下:
ReadOnlyObjectWrapper<BigDecimal> total = new ReadOnlyObjectWrapper<>();
total.bind(Bindings.createObjectBinding(() -> items.stream()
.collect(Collectors.summingDouble(LineItem::getTotal)),
items));
显然,Collectors.summingDouble
不能用,因为它是BigDecimal
.有没有办法用BigDecimal实现这一点?
LineItem.java
public class LineItem
{
private final SimpleObjectProperty<BigDecimal> amount;
public LineItem()
{
this.amount = new SimpleObjectProperty<>();
}
public BigDecimal getTotal()
{
return this.amount.get();
}
}
理想情况下,对属性的更改将反映在总属性中...