JavaFX是否可以启用带有隐藏滚动条的滚动?



我正在创建一个包装在ScrollPane中的简单VBox。 我尝试了类似的东西:

进入 CSS

.scroll-bar{ 
visibility:hidden;
}

进入控制器:

Set<Node> nodes = scroller.lookupAll(".scroll-bar");
for (final Node node : nodes) {
if (node instanceof ScrollBar) {
ScrollBar sb = (ScrollBar) node;
sb.setVisible(false);
}
}

我还尝试以其他方式设置滚动条样式(也分配"边缘到边缘"类(,但是当不需要滚动条时(作为默认策略(,我可以看到滚动条应该占用的空间。 我的目标是保持VBox可滚动,但我想完全隐藏滚动条。

vbarPolicy设置为NEVER

@Override
public void start(Stage primaryStage) {
VBox vbox = new VBox();
for (int i = 0; i < 40; i++) {
vbox.getChildren().add(new Text(Integer.toString(i)));
}
ScrollPane scrollPane = new ScrollPane(vbox);
scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); // never show a vertical ScrollBar
scrollPane.setFitToWidth(true); // set content width to viewport width
scrollPane.setPannable(true); // allow scrolling via mouse dragging
primaryStage.setScene(new Scene(scrollPane, 300, 200));
primaryStage.show();
}

最新更新