JavaFX TableView Невозможно прокрутить горизонтально - PullRequest
0 голосов
/ 02 июля 2018

У меня есть программа JavaFx, которая заполняет таблицу значениями. Таблица должна отображать только 6 столбцов, а остальные должны быть видны при прокрутке.

Но полоса прокрутки не будет двигаться при использовании мыши / клавиатуры. Горизонтальная полоса прокрутки не будет двигаться ни мышью, ни клавишами со стрелками на клавиатуре. Вертикальная прокрутка по крайней мере перемещается только с помощью клавиш со стрелками на клавиатуре.

Я пытался

Table.scrollTo(7);

Он просто прокручивается вниз, а не горизонтально. Загрузка скриншота изображения здесь. TableView.

Ответы [ 2 ]

0 голосов
/ 11 января 2019

У меня тоже была такая же проблема, но я решил ее с помощью хитрого трюка

 tableView.addEventFilter(ScrollEvent.SCROLL, (ScrollEvent event) -> {
                    ScrollBar hBar = getScrollBar(tableView, Orientation.HORIZONTAL);
                    if (event.getDeltaY() > 0 && event.isShiftDown()) {
                        if (hBar.getValue() != hBar.getMin()) {
                            hBar.setValue(hBar.getValue() - 20);
                            event.consume();
                        } else {
                            event.consume();
                        }
                    } else if (event.isShiftDown()) {
                        if (hBar.getValue() != hBar.getMax()) {
                            hBar.setValue(hBar.getValue() + 20);
                            event.consume();
                        } else {
                            event.consume();
                        }
                    }

                });

Это будет работать и прокручиваться горизонтально с помощью shift_key + mouse_scroll. Надеюсь, это сработает и для вас ..:)

0 голосов
/ 02 июля 2018

Использование Table.scrollToColumnIndex(7);.

Что касается перемещения по столу с помощью клавиш со стрелками. Вам нужно включить выбор ячеек , чтобы позволить вам выбрать отдельные ячейки. В противном случае вы только когда-либо выделите целые строки, которые не заставляют TableView прокручиваться горизонтально:

Table.getSelectionModel().setCellSelectionEnabled(true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...