【发布时间】:2012-05-11 18:56:02
【问题描述】:
我想这应该有一些事件,但没有找到。我现在的代码是
stage.titleProperty().bind(tabPane.getSelectionModel().getSelectedItem().textProperty());
但它不会动态更改标题,正确的解决方案是什么?
【问题讨论】:
我想这应该有一些事件,但没有找到。我现在的代码是
stage.titleProperty().bind(tabPane.getSelectionModel().getSelectedItem().textProperty());
但它不会动态更改标题,正确的解决方案是什么?
【问题讨论】:
Puce 的解释是正确的。这是一个更改监听器示例。
stage.setTitle(tabPane.getSelectionModel().getSelectedItem().getText());
tabPane.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<Tab>() {
@Override public void changed(ObservableValue<? extends Tab> tab, Tab oldTab, Tab newTab) {
stage.setTitle(newTab.getText());
}
});
使用上面的代码代替您问题中的示例代码。
【讨论】:
我现在无法为您提供解决方案,但我想我发现了问题: 您已将 titleProperty 绑定到在绑定时选择的选项卡的 textProperty。您可能需要侦听选择更改并更改侦听器中的阶段标题。
【讨论】: