У меня следующий вопрос: я хотел бы отключить горизонтальную полосу прокрутки моего 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;
}
Источники: Как чтобы скрыть горизонтальную полосу прокрутки ListView в JavaFX и 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 по горизонтали.
Можно ли скрыть только полосу прокрутки или можно и саму прокрутку отключить?
Любая помощь приветствуется!