我对JavaFx比较陌生,我需要帮助让Vbox随着节点的增加而增长。
我已将一个VBox放在ScrollPane中。当VBox进入时,VBox会被TitledPanes填充。但是一旦TitledPanes填满了分配Vbox的空间,TitledPanes就开始重叠了。理想情况下,我希望Vbox自行调整大小并使用ScrollPane进行导航。
我将Vbox Max高度设置为~
。我已经向ScrollPane添加了一个监听器来监听VBox大小的变化,但没有运气。有什么建议?
USE_COMPUTED_SIZE
答案 0 :(得分:0)
您使用VBox
而不是Accordion
是否有任何理由?
使用Accordion
,您可以使用ListChangeListener
检查TitledPane
号码中的更改,然后在添加或删除项目时调整Accordion
的大小:
accordion.getPanes().addListener(new ListChangeListener<Item>() {
public void onChanged(Change<tem> c) {
while (c.next()) {
if(c.wasAdded() || c.wasRemoved){
//resize Accordion in dependency of the vvalue of your scrollpane
}
}
});
对于VBox
,原则应该仍然有效:
vbox.getChildren().addListener(new ListChangeListener<Item>() {
public void onChanged(Change<tem> c) {
while (c.next()) {
if(c.wasAdded() || c.wasRemoved){
//rezise VBox in dependency of the vvalue of your scrollpane
}
}
});