JavaFX可以启用隐藏滚动条的滚动吗? [英] JavaFX is possible to enable scrolling with hidden scrollbar?

查看:1494
本文介绍了JavaFX可以启用隐藏滚动条的滚动吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建一个包含在 ScrollPane 中的简单 VBox
我试过类似的东西:

I am creating a simple VBox wrapped into a ScrollPane. I tried something like:

进入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 可滚动,但我想完全隐藏滚动条。

I tried also to style the scrollbar in other ways (also assign the class "edge-to-edge") but when the scrollbar is not needed (as default policy) I can see the space that should be occupied by the scrollbar. My goal is to maintain the VBox scrollable, but I want to completely hide the scrollbar.

推荐答案

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();
}

这篇关于JavaFX可以启用隐藏滚动条的滚动吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆