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 回答