JScrollPane в JTables

Интересно, у вас, ребята, была такая проблема, если у вас есть JPanel который получил свой собственный JScrollPane и в вашей панели вы используете много JTableс их собственным JScrollPanes, есть проблема с прокруткой вверх / вниз вашей панели?

Я имею в виду, когда ваша мышь находится в окне просмотра какой-либо таблицы, то JScrollPane из JTable слушает на свитке, поэтому, когда я получил много JTables Я могу прокручивать панель только в нескольких местах, это так раздражает...

Есть ли некоторые функции, которые отправят мое событие прокрутки родителю JPanelJScrollPane когда 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
Другие вопросы по тегам