3

我的屏幕上有一个滚动窗格,里面有一个 vbox。我在这个 vbox 中添加了许多复选框(并且我看到它正在扩展),但是滚动窗格似乎不知道当内容超过该窗格的高度时它应该开始显示滚动条。我已经尝试更改滚动条策略,但它只显示一个滚动条,我实际上无法滚动。我该如何解决?

private void addCheckbox(String checkbox){
        CheckBox c = new CheckBox(checkbox);
        c.setPadding(this.paddingCheckBoxes);
        c.setSelected(true);
        this.vBoxFilters.getChildren().add(c);
    }

这是 fxml:

<StackPane>
     <children>
          <ScrollPane fx:id="scrollPaneFilters" prefHeight="878.0" prefWidth="260.0">
            <content>
              <VBox fx:id="vBoxFilters" minHeight="0.0" minWidth="0.0" prefHeight="200.0" prefWidth="200.0" />
            </content>
          </ScrollPane>
     </children>
  </StackPane>

在此处输入图像描述

4

3 回答 3

13

尝试在 fxml 中删除 VBox 的 prefHeight

于 2016-04-12T17:00:38.693 回答
3

对于正在搜索相同问题的其他人,如果将 VBox 放在 ScrollPane 内的 AnchorPane 中,可能会出现同样的问题。如果您使用“滚动窗格”而不是“滚动窗格(空)”,这将在 SceneBuilder 中发生。

于 2017-06-12T09:48:36.870 回答
0

首先确保你没有在你的主容器“VBox”上设置一个定义的高度,然后你的滚动窗格工作你必须设置一个高度。例子:

ScrollPane scrollPane = new ScrollPane(); scrollPane.setContent(scrollComposition); scrollPane.setMaxHeight(740);

于 2021-10-15T03:09:38.133 回答