我有以下问题:我想禁用我的TableView的水平滚动条。它可能不可见,但是TableView也不能水平滚动。水平滚动条的可见性可以在CSS中设置:
.table-view *.scroll-bar:horizontal *.increment-button,
.table-view *.scroll-bar:horizontal *.decrement-button {
-fx-background-color: null;
-fx-background-radius: 0;
-fx-background-insets: 0;
-fx-padding: 0;
}
.table-view *.scroll-bar:horizontal *.increment-arrow,
.table-view *.scroll-bar:horizontal *.decrement-arrow {
-fx-background-color: null;
-fx-background-radius: 0;
-fx-background-insets: 0;
-fx-padding: 0;
-fx-shape: null;
}
来源:如何在JavaFX中隐藏ListView的水平滚动条和https://community.oracle.com/thread/2377826?tstart=0。
这个方法很好用,但是我仍然可以水平滚动TableView(尽管滚动条不可见)。我已经按照以下方式设置了列宽度:
col1.setPrefWidth(table.getPrefWidth()*0.40);
col2.setPrefWidth(table.getPrefWidth()*0.20);
col3.setPrefWidth(table.getPrefWidth()*0.20);
当TableView不显示任何行时,这个方法可以工作。但是当我通过按下一个按钮来填充它时,列会略微伸展,这使得TableView可以水平滚动。
是否只能隐藏滚动条,还是也可以禁用滚动本身?
非常感谢您的帮助!