Search code examples
javajtablejscrollpane

Clearing a JScrollPane but can't then 'attach' tables


I am creating an application where I have 3 Panes with buttons which dynamically create buttons in the next pane depending on the selection, clicking the last button shows a table of data brought up via an SQL query:

[buttonPane1][buttonPane2][buttonPane3][table]

If a user has clicked a button on all 3 panes and then wants to change their choice on buttonpanel1, it will bring up the choices in buttonpanel2 and using

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

I can clear the third button panel, my problem is how to clear the table. I want to remove it from the Table ScrollPanel however if I try

tableScrollPanel.removeAll();

it just means that the table never shows.

How can I remove any current table but allow a table to be 'reattached' I am doing this to create and 'attach' the table

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

Thanks Very Much


Solution

  • Try setting the table model to a DefaultTableModel with empty data and the original headers, then repaint. As long as you have a JScollPane wrapped around the JTable, the headers should show up, assuming this is what you want.

    Other wise, you can set the viewport to a new instance of a JTable with new headers.