将滚动窗格绑定到Accordion(JavaFX8)时出现问题

将滚动窗格绑定到Accordion(JavaFX8)时出现问题,java,components,bind,javafx-8,Java,Components,Bind,Javafx 8,我有非常简单的程序和非常糟糕的错误-_- 在我的程序中,我有一个滚动窗格,其中包含手风琴。滚动窗格prefHeightProperty绑定到Accordion heightProperty themeScroll.prefHeightProperty().bind(themeAccordion.heightProperty()); 当我折叠标题窗格时,手风琴的高度会降低。滚动窗格的高度也必须降低到手风琴的高度,但直到最后才降低 (滚动窗格有绿色背景) 然后我最小化窗口并重新打开它,然

我有非常简单的程序和非常糟糕的错误-_- 在我的程序中,我有一个滚动窗格,其中包含手风琴。滚动窗格prefHeightProperty绑定到Accordion heightProperty

themeScroll.prefHeightProperty().bind(themeAccordion.heightProperty());    
当我折叠标题窗格时,手风琴的高度会降低。滚动窗格的高度也必须降低到手风琴的高度,但直到最后才降低

(滚动窗格有绿色背景)

然后我最小化窗口并重新打开它,然后看到:

我怎样才能避免这个问题

UPD 1:

我知道我需要调用此代码来调整滚动窗格的大小:

Platform.runLater(() -> {
    themeScroll.requestLayout();
});
但是在哪里呢?
我试图在meacrdion.expandedPaneProperty.addListener(…)中调用它,但它没有帮助


如果我在
themeacrdion.heightProperty().addListener(…)
中调用它,那么问题就解决了,但是这个代码
themeScroll.requestLayout()
被多次调用,这很糟糕。

将ScrollPane prefHeightProperty与Accordion heightProperty绑定的目的是什么?@UlukBiy,我需要将“添加新部分”按钮粘贴到Accordion的底部。单击此按钮可将新标题窗格添加到手风琴中。然后,当窗口没有足够的空间显示新标题窗格时,将以手风琴的形式显示滚动条。为此,我将ScrollPane的prefHeight绑定到accordion的高度,甚至将ScrollPane的maxHeight绑定到parentPane的高度(在本例中为anchorPane)。所以滚动窗格拉伸到窗口底部,然后出现滚动条。