【问题标题】:JavaFX ScrollPane not scrolling with VBoxScrollPane 不使用 VBox 滚动
【发布时间】:2016-08-03 10:33:34
【问题描述】:

我的屏幕上有一个滚动窗格,里面有一个 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>

【问题讨论】:

    标签: java javafx horizontal-scrolling scrollpane vbox


    【解决方案1】:

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

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

    【讨论】:

    • 不需要滚动窗格上的最大高度 - 应该选择其父布局来处理 .. 布局;)作为一般规则:永远不要设置布局约束(有例外,当然,这肯定不是)。顺便说一句:请将任何代码格式化为 .. 代码 ;)
    【解决方案2】:

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

    【讨论】:

    • 我该如何解决??
    【解决方案3】:

    尝试删除 fxml 中 VBox 的 prefHeight

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多