我想应该有一些事件,但没有找到。我现在的代码是
stage.titleProperty().bind(tabPane.getSelectionModel().getSelectedItem().textProperty());
但它不会动态更改标题,正确的解决方案是什么?
普斯的解释是正确的。这是一个更改侦听器示例。
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。您可能需要侦听选择更改并更改侦听器中的阶段标题。