JTable - wie ändere ich den Inhalt dynamisch

>Aber wie soll ich es sonst realisieren?

Das Tab hält doch ein Panel. Dieses einfach repaint()

Code:
public void stateChanged( ChangeEvent ce){
    tp.setBounds(new Rectangle(0, 0, 630, 570));

    int tab = tp.getSelectedIndex();
    ....
    else if (tab == 2){
      try {
        Aufstellung aufstellung = new Aufstellung(spieltagDAO);
        aufstellung_pl.add(aufstellung, BorderLayout.CENTER);
        tp.repaint();

        tp.setBounds(new Rectangle(0, 0, 630, 570));

      }
   ....
}

- Das Panel solltest Du nicht bei jedem Tabwechsel neu erzeugen.

>Alles andere bleibt wie gehabt. Sonst kann ich den geänderten Inhalt der TabPane doch nicht neu darstellen, oder?

S.o.
Außerdem: Wieso steht denn da noch

Aufstellung aufstellung = new Aufstellung(spieltagDAO);

?
Was ist denn in spieltagDAO?
 
Ich habe es wie folgt geändert.

Original geschrieben von jorgeHX
Aber wie soll ich es sonst realisieren?
Ich rufe in der Klasse "MeineTabPane" die Methode

public void stateChanged( ChangeEvent ce){
tp.setBounds(new Rectangle(0, 0, 630, 570));

int tab = tp.getSelectedIndex();
....
else if (tab == 2){
try {
Aufstellung aufstellung = new Aufstellung(spieltagDAO);
// aufstellung_pl.add(aufstellung, BorderLayout.CENTER);
aufstellung.pl.repaint();
tp.repaint();

tp.setBounds(new Rectangle(0, 0, 630, 570));

}
....
}


Aufstellung aufstellung = new Aufstellung(spieltagDAO); und
aufstellung_pl.add(aufstellung, BorderLayout.CENTER);
ruf ich zu Beginn im Konstruktor der Klasse "MeineTabPane" auf.
spieltagDAO legt einfach nur einen neuen Datenbanksatz an oder ermöglicht mir den Zugriff darauf. Das spielt aber in diesem Beispiel keine Rolle.

Dennoch klappt es nicht
 
Entwarnung :)

Ich habe die Zeilen in "Meine TabPane" wie folg geändert:

...
else if (tab == 2){
try {
//aufstellung.aufstellung_tb.getModel();
//Aufstellung aufstellung = new Aufstellung(spieltagDAO);
//aufstellung_pl.add(aufstellung, BorderLayout.CENTER);
aufstellung.setTable();
aufstellung_pl.repaint();
tp.repaint();

tp.setBounds(new Rectangle(0, 0, 630, 570));

}
catch (Exception e) {
e.printStackTrace();
}

}
...

Außerdem die Methode setTable() public genannt.
In setTable rufe ich dann
aufstellung_tb.getModel(); vorab auf.
Und es läuft.
Danke für die Unterstützung
 

Neue Beiträge

Zurück