在 JavaFX 8 中,如何绑定到计算表达式?
In JavaFX 8 how can I bind to a computed expression?
如果这是重复(找不到)或非常简单,我深表歉意。我只是在上面找不到任何东西。
我想根据 table 中的值在我的初级阶段设置一个动态标题。但是,我似乎无法找到一种方法来处理这个问题,而不必在事件侦听器上对其进行编码。如果可能的话,我宁愿创建一个绑定。
像这样:
primaryStage.titleProperty().bind("Open Items" + tableView.getItems().size());
primaryStage.titleProperty().bind(Bindings.size(tableView.getItems()).asString("Open Items %d"));
或
primaryStage.titleProperty().bind(Bindings.createStringBinding(() ->
"Open Items "+tableView.getItems().size(),
tableView.getItems());
或
primaryStage.titleProperty().bind(new StringBinding() {
{ bind(tableView.getItems()); }
@Override
public String computeValue() {
return "Open Items "+tableView.getItems().size();
}
});
可能还有许多其他方式...
如果这是重复(找不到)或非常简单,我深表歉意。我只是在上面找不到任何东西。
我想根据 table 中的值在我的初级阶段设置一个动态标题。但是,我似乎无法找到一种方法来处理这个问题,而不必在事件侦听器上对其进行编码。如果可能的话,我宁愿创建一个绑定。
像这样:
primaryStage.titleProperty().bind("Open Items" + tableView.getItems().size());
primaryStage.titleProperty().bind(Bindings.size(tableView.getItems()).asString("Open Items %d"));
或
primaryStage.titleProperty().bind(Bindings.createStringBinding(() ->
"Open Items "+tableView.getItems().size(),
tableView.getItems());
或
primaryStage.titleProperty().bind(new StringBinding() {
{ bind(tableView.getItems()); }
@Override
public String computeValue() {
return "Open Items "+tableView.getItems().size();
}
});
可能还有许多其他方式...