Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.
Je moet de oude tabel eerst verwijderen uit de container die je gebruikt met remove(tabel) en daarna maak je een nieuwe en die add je weer.
"Beauty is the ultimate defence against complexity." David Gelernter
Of gebruik een javax.swing.table.DefaultTableModel, en roep daarvan eerst setRowCount(0) aan (je verwijdert alles), gevolgd door een reeks addRow(...) aanroepen om alles toe te voegen. Werkt hier al tijden perfect, en je kunt gewoon je JTable met TableModel recyclen.
Stukje code, uit een XML viewertje van me (maakt gebruik van JDOM; attributes is een List met Attributes):
Stukje code, uit een XML viewertje van me (maakt gebruik van JDOM; attributes is een List met Attributes):
Java:
1
2
3
4
5
6
7
8
9
10
11
| tableModel = new DefaultTableModel(new String[] {"Name", "Value"}, 0); table = new JTable(tableModel); ... tableModel.setRowCount(0); for (int i = 0; i < attributes.size(); i++) { Attribute att = (Attribute)attributes.get(i); tableModel.addRow(new String[] {att.getName(), att.getValue()}); } |
[ Voor 46% gewijzigd door Robtimus op 20-03-2004 17:46 ]
More than meets the eye
There is no I in TEAM... but there is ME
system specs
Dat zou een gedeeltelijke oplosisng zijn, maar dan is het toch nog zo dat de table-headers/het aantal kolommen blijft bestaan, en deze veranderen ook per onderwerp, dus dan zou ik voor ieder onderwerp een aparte tabel moeten aanmaken, het is te doen, maar met een enkele tabel zou mooier zijn.IceManX schreef op 20 maart 2004 @ 17:43:
Of gebruik een javax.swing.table.DefaultTableModel, en roep daarvan eerst setRowCount(0) aan (je verwijdert alles), gevolgd door een reeks addRow(...) aanroepen om alles toe te voegen. Werkt hier al tijden perfect, en je kunt gewoon je JTable met TableModel recyclen.
Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.
Moet ik nog zeggen dat DefaultTableModel ook setColumnCount(int) en meerdere addColumn(...) methods heeft?
More than meets the eye
There is no I in TEAM... but there is ME
system specs