Возможно ли в JavaFX включить прокрутку со скрытой полосой прокрутки? - PullRequest
0 голосов
/ 01 июня 2018

Я создаю простой VBox, завернутый в ScrollPane.Я пробовал что-то вроде:

Into 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, но я хочу полностью скрыть полосу прокрутки.

1 Ответ

0 голосов
/ 01 июня 2018

Установите 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();
}
...