在JavaFX 8中,如何绑定到计算表达式?

时间:2015-07-29 14:48:51

标签: javafx-8

如果这是重复(无法找到)或非常简单,我道歉。我就是找不到任何东西。

我希望在主要舞台上根据表格中的值设置动态标题。但是,我似乎无法找到一种方法来处理它,而无需在事件监听器上进行编码。如果可能的话,我宁愿创建一个绑定。

这样的事情:

primaryStage.titleProperty().bind("Open Items" + tableView.getItems().size());

1 个答案:

答案 0 :(得分:3)

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();
    }
});

可能还有很多其他方式......