JTable: Model um eine Zeile erweitern und Werte setzen

DarthShader

Erfahrenes Mitglied
Hallo,

ich würde gerne Werte einem JTable Model hinzufügen. Dabei kommt es nicht vor, dass ich einzelne Zellenwerte setze (denn das kann man ja per model.setValueAt), sondern ich möchte immer ganze Zeilen hinzufügen.

Meine Idee wäre nun:

1. Ich ermittle, wieviele Zellen von oben null Werte haben, damit ich den ersten freien Eintrag (die Zeile) des Models habe
2. Sollte es keine freie Zeile mehr geben, muss ich ein neues Model mit einer zusätzlichen Zeile anlegen und die ganzen alten Werte ins neue kopieren
3. Ich setze alle Werte per setValueAt, für jede Spalte natürlich ein Wert


Meine Frage ist nun, geht das einfacher? Vor allem in Bezug auf den 2. Punkt. Ich suche ne Methode, mit der ich das model z.B. einfach um eine Zeile vergrößern könnte. Oder gar eine Methode "addRowValues( Object[] values )", mit der ich ganz einfach die Werte setze, die dann in einer neuen Zeile des Models landen.

Gibt es solche Methoden? Würdet ihr anders als meine 3. obigen Schritte vorgehen?


Danke für Eure Hilfe!
 
Mag sein, dass ich deine Frage nicht verstanden habe, aber wie wäre es denn mit:
addRow
public void addRow(Vector rowData)Adds a row to the end of the model. The new row will contain null values unless rowData is specified. Notification of the row being added will be generated.

Parameters:
rowData - optional data of the row being added

--------------------------------------------------------------------------------

addRow
public void addRow(Object[] rowData)Adds a row to the end of the model. The new row will contain null values unless rowData is specified. Notification of the row being added will be generated.

Parameters:
rowData - optional data of the row being added

http://java.sun.com/javase/6/docs/api/
 
Hi shutdown,

ich bin auch ein Idiot, ich habe mir immer nur das Interface TableModel angesehen. Die Methode addRow stammt natürlich aus der DefaultTableModel Implementierung :)

Danke für Deine Hilfe :)
 
Zurück