JavaFx调整大小VBox,因为内容随ScrollPane一起添加

时间:2016-07-17 06:18:44

标签: javafx javafx-8 scrollpane vbox

我对JavaFx比较陌生,我需要帮助让Vbox随着节点的增加而增长。

我已将一个VBox放在ScrollPane中。当VBox进入时,VBox会被TitledPanes填充。但是一旦TitledPanes填满了分配Vbox的空间,TitledPanes就开始重叠了。理想情况下,我希望Vbox自行调整大小并使用ScrollPane进行导航。

我将Vbox Max高度设置为~。我已经向ScrollPane添加了一个监听器来监听VBox大小的变化,但没有运气。有什么建议?

USE_COMPUTED_SIZE

1 个答案:

答案 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
             }
         }
     });

based on