使用Platform.runLater禁用在JavaFX中折叠Accordion

时间:2012-11-28 13:29:04

标签: java accordion javafx-2

我想使用答案中建议的解决方案: Prevent an accordion in JavaFX from collapsing 为了防止JavaFX中的Accordion完全崩溃。

我的问题是:为什么在expandedPaneProperty上添加的监听器使用Platform.runLater来调用setCollapsible(false)?

实际上,如果我删除Platform.runLater,在折叠/展开窗格后,其内容会因某种原因消失。那么为什么runLater会解决这个问题?

1 个答案:

答案 0 :(得分:1)

ChangeListener的documentation< T>声明:

一般情况下,修改此方法中的观察值被视为不良做法。

此方法指的是:

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

RunLater 确保在JavaFX应用程序线程的下一次运行时修改窗格,以便在安全的情况下进行修改。