# TableModel Methode setValueAt



## ZentrumderMacht (27. Jan 2010)

Hallo zusammen,

ich bin grad dabei die Methode setValueAt zuschreiben für meine Tabelle. 

Leider stehe ich grad auf dem schlauch. 

Weis nicht genau wie die methode aussehen soll.... habe hier schonmal den anfang der Methode


```
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
                    Object oldValue = getValueAt(rowIndex, columnIndex);
                    objects[ rowIndex ][ columnIndex ] = aValue;
            }
       }
```

Was jemand was die Methode genau machen soll?!

Also Hauptaufgabe ist das schreiben


----------



## Michael... (27. Jan 2010)

Hat es einen Grund warum Du den alten Wert ausliest?

Erbt Dein Model von AbstractTableModel bzw. DefaultTableModel oder implementiert Deine Klasse nur TableModel?
Was Deiner Methode noch fehlt ist die Benachrichtigung an alle Listener, dass sich das Model geändert hat. Abstract/DefaultTableModel verfügen über entsprechende Methoden. Sofern Du einfach nur TableModel implementierts musst Du Dich darum kümmern.


----------



## Zentrumdermacht (27. Jan 2010)

mein eigenes TableModel erbt von AbstractTableModel.


----------



## Michael... (27. Jan 2010)

AbstractTableModel besitzt mehrere fire... Methoden. siehe Doku :AbstractTableModel
Hilfreiche Infos gibt's auch noch hier:Creating a TableModel
Da findest Du auch genau das, was Du für Deinen Fall brauchst


----------



## ZentrumderMacht (27. Jan 2010)

im mom hat es noch keinen Sinn vllt später.. habe einfach mal angefangen. ^^


----------



## Zentrum (27. Jan 2010)

was macht den normaler weise son setvalueAt?!


----------



## Michael... (27. Jan 2010)

Zentrum hat gesagt.:


> was macht den normaler weise son setvalueAt?!


Normalerweise werden die entsprechenden Daten das Models geändert und anschliessend alle am Model registrierten Listener über die Änderung informiert.
Im obigen Link "Creating..." ist dazu ein Beispiel mit AbstractTableModel und einer überschriebenen setValueAt(...)


----------



## Landei (27. Jan 2010)

Na du setzt einen Wert in Spalte x, Zeile y deines Tabellenmodells


----------



## zentrum (27. Jan 2010)

ahh ok jetzt gesehen beim creating hätte ich mal früher str-f gedrückt und danach gesucht lach bin so verwirrt nach der krankheit.

noch ne dumme frage 

Meine selbstgeschrieben Table erbt mein selbstgeschriebens Model. 

Im selbstgeschrieben Model habe ich eine Methode addRow();

Wie bekomme ich hin das ich die Methode in meinem Hauptprogramm aufrufe?!  

Dacht ich schreib in meiner selbstgeschrieben Table eine Methode die die Methode der TableModel aufruft leider klappt dies nicht so der sagt dann "change modifier of 'addRow()' to 'static' ". Aber ich kann es nicht einfach zu static ändern, kennt jemand da den fehler?!


----------



## zentrum (27. Jan 2010)

haaabs danke an alle


----------

