Hallo,
JTable jtable = new JTable(Object[][] rowData, Object[] columnNames)
Zu einem späteren Zeitpunkt möchte ich dieselbe Tabelle aber mit dem inzwischen geänderten Object[][] laden.
Die Daten der JTable befinden sich in einem Model. Konkret handelt es
sich dabei um eine Klasse, die javax.swing.table.TableModel implementiert.
JTable verwendet von Haus aus javax.swing.table.DefaultTableModel.
Du hast 2 Möglichkeiten:
1. Du weist der JTable eine neue TabelModel-Instanz zu. Hierfür mußt
du die Methode JTable.setModel(Model) verwenden.
Lege beispielweise ein neues DefaultTableModel-Objekt an. Es steht
ein Konstruktor zur Verfügung, der die Zelleninhalte und die
Spaltennamen aufnimmt. (Genau wie der Konstruktor von JTable.)
Übergib dieses Objekt der setModel-Methode.
2. Da du (jetzt) weißt, daß JTable eine Instanz von DefaultTableModel
als Model verwendet, kannst du dir mit der Methode JTable.getModel()
dieses Objekt geben lassen, es nach DefaultTableModel casten und
dann die Methode DefaultTableModel.setDataVector(Object[][], Object[])
dazu verwenden, um die Daten im Model festzulegen.
Wenn du sicher gehen willst, daß wirklich ein DefaultTableModel-
Objekt als Model verwendet wird, kannst du das Model auch nach dem
erzeugen der JTable von Hand setzen. Etwa so (ungetestet!):
DefaultTableModel dtm = new DefaultTableModel(data, columns);
JTable table = new JTable(dtm);
So könntest du dir auch gleich das Model (dtm) in einer Instanz-
variable speichern und müßtest dann nicht immer JTable.getModel()
aufrufen um an das Model zu kommen.
Falls dir die Geschichte mit dem Model spanisch vorkommt, würde ich
dir ein Java-Buch deiner Wahl (am besten http://www.javabuch.de oder
http://www.galileocomputing.de/openbook/javainsel3/), sowie die Tutorials
von Sun zum Thema (Links findest du in der API-Doku zu JTable und
TableModel) und den Java Almanach (http://javaalmanac.com/egs/?) empfehlen.
Gruß
Slyh