Как скрыть горизонтальную полосу прокрутки ListView в JavaFX

Как скрыть горизонтальную полосу прокрутки ListView? Я пробовал по-разному и, наверное, это совершенно легко, но я просто не могу заставить его работать.

3 ответов


попробуйте это в CSS:

.list-view .scroll-bar:horizontal .increment-arrow,
.list-view .scroll-bar:horizontal .decrement-arrow,
.list-view .scroll-bar:horizontal .increment-button,
.list-view .scroll-bar:horizontal .decrement-button {
    -fx-padding:0;
}

немного рубить, но это должно сделать это. В CSS:

.list-view .scroll-bar:horizontal {
    -fx-opacity: 0;
    -fx-padding:-7;
}

обратите внимание, что полоса прокрутки все еще существует, и жесты мыши вокруг того, где она "должна" быть, приведут к поведению прокрутки.


Я думаю, что было бы лучше ListCell с панелью (например, StackPane) и меткой внутри, которая будет иметь функциональность многоточия:

StackPane pane = new StackPane();
pane.setStyle("-fx-border-color:red;");
pane.setMinWidth(0);
pane.setPrefWidth(1);
pane.getChildren().add(label);

вы можете ознакомиться по этой ссылке.

то же решение может быть использовано для другого комплекса ListCells.