在JavaFX我有这样的事情:JavaFX的滚动窗格永远不会滚动
VBox centreBox = new VBox();
ScrollPane scrollPane = new ScrollPane(centreBox);
mainHBox.getChildren().add(scrollPane);
然后当用户点击一个按钮,有一个被触发的动作:
button.setOnMouseClicked(event -> {
for(Object obj : list) {
HBox box = ...; // here I create a box based on obj
centreBox.getChildren().add(box);
}
});
的问题是那list
是相当长的,并且最终将centreBox
的高度延伸超过窗口的大小。但是,滚动条永远不会被触发。
我试着将滚动条策略设置为始终,但是酒吧总是保持在100%的高度(即不能移动它们)。基本上问题是,scrollpane似乎并不关心高度centreBox
。
我也尝试添加一组阅读一些有关它的API后:
Group group = new Group(scrollPane);
mainHBox.getChildren().add(group);
但仍然没有喜悦。
我认为这是与内容是动态生成的事实有关。如果我从一开始就将某些元素硬编码到那里,它似乎工作正常。
如何解决这个问题?
在此先感谢
我只是写了一个简单的程序测试,并作为节点添加到它的内容我的ScrollPane正确的行为。请编辑您的问题并提供一个[MCVE](http://stackoverflow.com/help/mcve)来展示您的问题。 – VGR