2

このためのイベントがあるはずですが、見つかりませんでした。私が今持っているコードは

stage.titleProperty().bind(tabPane.getSelectionModel().getSelectedItem().textProperty());

しかし、それはタイトルを動的に変更しません、正しい解決策は何ですか?

4

2 に答える 2

3

ピュースの説明は正しいです。リスナーの変更の例を次に示します。

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

質問のサンプルコードの代わりに上記のコードを使用してください。

于 2012-05-11T19:48:24.683 に答える
1

現在、解決策を提供することはできませんが、問題を見つけたと思います。バインド時に選択されたタブのtextPropertyにtitlePropertyをバインドしました。おそらく、選択の変更をリッスンし、リスナーでステージタイトルを変更する必要があります。

于 2012-05-11T19:30:16.653 に答える