Очистка JScrollPane, но затем невозможно «прикрепить» таблицы - PullRequest
3 голосов
/ 19 ноября 2010

Я создаю приложение, в котором у меня есть 3 панели с кнопками, которые динамически создают кнопки на следующей панели в зависимости от выбора; при нажатии на последнюю кнопку отображается таблица данных, выведенных с помощью запроса SQL:

[buttonPane1] [buttonPane2] [buttonPane3] [таблица]

Если пользователь нажал кнопку на всех 3 панелях и затем хочет изменить свой выбор на buttonpanel1, он вызовет выбор в buttonpanel2 и использует

buttonPanel3.removeAll();
buttonPanel3.repaint();

Я могу очистить третью панель кнопок, моя проблема в том, как очистить таблицу. Я хочу удалить его из таблицы ScrollPanel, однако, если я попытаюсь

tableScrollPanel.removeAll();

это просто означает, что таблица никогда не отображается.

Как я могу удалить любую текущую таблицу, но разрешить повторное присоединение таблицы? Я делаю это, чтобы создать и "прикрепить" таблицу

jTableTemp.setModel(new DefaultTableModel(
                    tableContent, tableTitles));
tableScrollPanel.setViewportView(jTableTemp);

Большое спасибо

1 Ответ

2 голосов
/ 19 ноября 2010

Попробуйте установить модель таблицы в DefaultTableModel с пустыми данными и исходными заголовками, а затем перекрасить. Если у вас есть JScollPane, обернутый вокруг JTable, заголовки должны отображаться, если вы этого хотите.

В противном случае вы можете установить в окне просмотра новый экземпляр JTable с новыми заголовками.

...