# JTable Problem zum verzweifeln.



## b0rsti (10. Jan 2008)

Hallo,


----------



## André Uhres (10. Jan 2008)

Das hier:
System.out.println(daten.get(row)); 
kann dir ohne toString()-Methode keine Daten anzeigen.

```
class Partei {
...
    public String toString() {
        return "parteiName:"+parteiName + "  anzStimmen:"+anzStimmen + "  anzMandante:"+anzMandante 
                + "  anzStimmenGesamt: "+anzStimmenGesamt + "  gewMandate:"+ gewMandate;

    }
}
```


----------



## b0rsti (10. Jan 2008)

hey das ist ja der wahnsinn, ich sitze hier stunden und such das problem.

jetzt möchte ich per button eine neue zeile hinzufügen...


----------



## b0rsti (10. Jan 2008)

Wenn ich jetzt die berechnung durchführe, also stimmen * mandate, also in welcher klasse soll ich die methode am besten einbinden? ins model?


----------



## André Uhres (10. Jan 2008)

b0rsti hat gesagt.:
			
		

> ..jetzt möchte ich per button eine neue zeile hinzufügen...


Implementiere im DatenModell eine Methode (z.B.addRow(Partei partei))
welche ein neues Element zum Vector hinzufügt und dann fireTableRowsInserted(..) aufruft.


----------



## b0rsti (10. Jan 2008)

was muss ich denn als parameter bei fireTableRowsInserted eingeben?


----------



## André Uhres (10. Jan 2008)

b0rsti hat gesagt.:
			
		

> Wenn ich jetzt die berechnung durchführe, also stimmen * mandate, also in welcher klasse soll ich die methode am besten einbinden? ins model?


Ja, ins DatenModell passt es imho am besten.


----------



## André Uhres (10. Jan 2008)

b0rsti hat gesagt.:
			
		

> was muss ich denn als parameter bei fireTableRowsInserted eingeben?


(daten.size() - 1, daten.size() - 1)


----------



## b0rsti (10. Jan 2008)

hab jetzt folgende methode geschrieben
funktioniert aber noch nicht beim aufruf...


```
public void addRow() {
        Partei p = new Partei();
        daten.add(p);
        fireTableRowsInserted(daten.size()-1, daten.size()-1);
    }
```


----------



## b0rsti (10. Jan 2008)

^^ noch eine kurze verständnisfrag:

in der tabelle werden ja bestimmt sachen berechnet (stimmen*Mandate)usw. in welcher klasse soll man die berechnungsmethoden implementieren?


----------



## André Uhres (11. Jan 2008)

"addRow" sollte über eine Instanzvariable aufgerufen werden:

```
public class SwingFenster extends JFrame {
    // Instanzvariablen
    private DatenModell tableModel;//<-------------------------------------------
...
    public SwingFenster(String titel) throws HeadlessException {
...
        //Tabellenmodell
        tableModel = new DatenModell();//<--------------------------------------------------
...
    } //end of konstruktor
...
        tableModel.addRow();//<----------------------------------------------
...
} //end of class
```
Über die Berechnungsmethode hatte ich mich oben schon geäussert.


----------

