Guude!
Hallo Slyh
Ich fühle mich jetzt einfach auch mal angesprochen ;-)
es gibt zwar eine Methode um Tabellen mit Vectoren zu laden, habe ich aber nicht hingekriegt:
Das hat mir anfangs auch Probleme bereitet, ist aber gar nicht so schwer und dabei noch wesentlich flexibler: Wenn Du zwei Vektoren hast, z.B. "vColNames" mit den Spaltennamen und "vData" mit den Tabellendaten (jedes Element des Datenvektors steht für eine Zeile und muss entweder einen weiteren Vektor oder ein Array für die jeweiligen Spalten der Zeile enthalten), weist Du die einem Tabellenmodell zu und registrierst dieses:
DefaultTableModel dtm = new DefaultTableModel(vData, vColNames);
JTable table = new JTable(dtm);
Das Buch wird diesem Vector angefügt. Jetzt muss natürlich das Buch auch in der Tabelle angezeigt, dh. die Tabelle neu geladen werden.
Füge das neue Buch doch direkt in die Tabelle ein:
Vector neueZeile = new Vector(4);
neueZeile.add(neuesBuch.bookID);
neueZeile.add(neuesBuch.author);
neueZeile.add(neuesBuch.title);
neueZeile.add(neuesBuch.year);
((DefaultTableModel)table.getModel()).addRow(neueZeile);
table.repaint();
Wie Slyh schon sagte, enthält das TableModel alle Tabelleninhalte. Wenn Du also mit den Daten einer Tabelle arbeiten möchtest, dann greife auf sie direkt über das Tabellenmodell zu. Gerade das DefaultTableModel bietet dazu eine ganze Reihe nützlicher Methoden (siehe http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/table/DefaultTableModel.html).
LG ausm Hesseland
Lemmy
Wer seiner Frau gegenüber stets beteuert, dass DAS tatsächlich 30cm sind, darf sich nicht wundern, wenn sie nicht richtig einparken kann...