4

JavaFXのアコーディオンが完全に崩壊するのを防ぐために、JavaFX のアコーディオンが崩壊するのを防ぐための回答で提案されているソリューションを使用したいと思います 。

私の質問は、expandedPaneProperty に追加されたリスナーが Platform.runLater を使用して setCollapsible(false) を呼び出すのはなぜですか?

実際、Platform.runLater を削除すると、ペインを折りたたんだり展開したりした後、なんらかの理由でコンテンツが消えてしまいます。では、なぜ runLater がその問題を解決するのでしょうか?

4

1 に答える 1

1

ChangeListener< T>のドキュメントには、次のように記載されています。

一般に、このメソッドで観測された値を変更することは悪い習慣と考えられています。

このメソッドが参照する場所:

void changed(ObservableValue<? extends T> observable, T oldValue, T newValue);

RunLaterは、JavaFX アプリケーション スレッドの次の実行時にペインが変更されることを保証するため、安全に変更を行うことができます。

于 2013-01-13T23:08:58.343 に答える