2012-10-01 351 views
5

牛我可以隐藏ListView的水平滚动条吗?我用不同的方式尝试过,可能它很容易,但我无法让它运行。如何在JavaFX中隐藏ListView的水平滚动条

+0

欢迎来到Stack Overflow!我们鼓励你[研究你的问题](http://stackoverflow.com/questions/how-to-ask)。如果你已经[尝试了某些东西](http://whathaveyoutried.com/),请将其添加到问题中 - 如果没有,请先研究并尝试您的问题,然后再回来。 – 2012-10-01 09:58:30

回答

27

在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; 
} 
+0

除此之外,我发现无需限制ColumnResizePolicy,并使最小列宽足够宽,以适应它们中的所有内容,当表具有焦点时,不存在水平滚动操作。 –

+1

请注意,这也适用于桌面视图。 – Noctua

-1

一点点黑客,但这应该做到这一点。在CSS中:

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

请注意,滚动条仍然存在,并且鼠标指向它“应该”的位置将导致滚动行为。

0

我认为这将是更好的一个的ListCell与窗格(例如StackPane)和内部的一个标签将有省略号功能:

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

你可以看看at this link

同样的解决方案可以用于其他ListCells复杂。