JScrollPane в JTables
Интересно, у вас, ребята, была такая проблема, если у вас есть JPanel
который получил свой собственный JScrollPane
и в вашей панели вы используете много JTable
с их собственным JScrollPane
s, есть проблема с прокруткой вверх / вниз вашей панели?
Я имею в виду, когда ваша мышь находится в окне просмотра какой-либо таблицы, то JScrollPane
из JTable
слушает на свитке, поэтому, когда я получил много JTable
s Я могу прокручивать панель только в нескольких местах, это так раздражает...
Есть ли некоторые функции, которые отправят мое событие прокрутки родителю JPanel
JScrollPane
когда JTable
свиток даже не показывается? Я имею в виду, я хочу отключить JScrollPane
всякий раз, когда некоторые JTable
не нужно использовать прокрутку (когда она скрыта, потому что слишком мало записей).
1 ответ
Да, JTable
понимает несколько именованных действий прокрутки, перечисленных ниже. Они обычно используются в привязках клавиш, но вы можете вызвать их самостоятельно, как показано в этом связанном примере, который управляет действиями, определенными для области прокрутки.
Приложение: в общих чертах, получить именованное действие из карты действий компонента:
Action action = table.getActionMap().get(name);
Вызвать действие по имени, когда это необходимо:
action.actionPerformed(new ActionEvent(table, 0, name));
Прокрутка связанных имен действий для JTable
:
scrollDownChangeSelection
scrollDownExtendSelection
scrollLeftChangeSelection
scrollLeftExtendSelection
scrollRightChangeSelection
scrollRightExtendSelection
scrollUpChangeSelection
scrollUpExtendSelection