'JavaFX ScrollPane not scrolling with VBox
I have a scrollpane on my screen and a vbox inside it. I add numerous checkboxes in this vbox (and I see it expanding) but the scrollpane doesn't seem to know that it should start showing a scrollbar when the content exceeds the height of that pane. I already tried changing the scrollbar policy but it just shows a scrollbar, I can't actually scroll. How do I fix this?
private void addCheckbox(String checkbox){
CheckBox c = new CheckBox(checkbox);
c.setPadding(this.paddingCheckBoxes);
c.setSelected(true);
this.vBoxFilters.getChildren().add(c);
}
Here's the 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>
Solution 1:[1]
Try to remove prefHeight for VBox in your fxml
Solution 2:[2]
For others who are searching for the same question, the same problem can occur if you put the VBox inside an AnchorPane inside the ScrollPane. This will happen in SceneBuilder if you use "Scroll Pane" instead of "Scroll Pane (empty)".
Solution 3:[3]
First of all make sure you didn’t set a defined height on your main container the “VBox” then for your scroll pane to work you have to set a height. Example:
ScrollPane scrollPane = new ScrollPane(); scrollPane.setContent(scrollComposition); scrollPane.setMaxHeight(740);
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | jns |
| Solution 2 | geometrikal |
| Solution 3 | Viand Direct |

