JTable dynamische erweitern

chilipower

Neues Mitglied
Hallo Forum-Leser,

ich möchte eine JTable dynamisch erweitern und habe auch schon verstanden, dass man zusätzlich ein DefaultTableModel anlegen muss.

Java:
  import javax.swing.*;
  import javax.swing.event.*;
  import javax.swing.table.*;
  import javax.swing.table.DefaultTableModel;

  private JTable jtZinsen = new JTable(5, 4);
  private DefaultTableModel jtZinsenModel = (DefaultTableModel) jtZinsen.getModel();

    for (i=1; i<=iLaufzeit; i++) {
      jtZinsen.setValueAt(Integer.toString(i),i-1,0);
      jtZinsen.setValueAt(df.format(fAnfang),i-1,1);
      fZinsen = fAnfang * fZinssatz;
      jtZinsen.setValueAt(df.format(fZinsen),i-1,2);
      fEnde = fAnfang + fZinsen;
      jtZinsen.setValueAt(df.format(fEnde),i-1,3);
      fAnfang = fEnde;
      jtZinsenModel.addRow(jtZinsen.getRowCount()+1);
//      jtZinsen.setModel(jtZinsenModel);
    }

Es kommt jedes Mal die Fehlermeldung:

Compiliere Zinsen.java mit Java-Compiler
Zinsen.java:129:20: cannot find symbol
symbol : method addRow(int)
location: class javax.swing.table.DefaultTableModel
jtZinsenModel.addRow(jtZinsen.getRowCount()+1);
^
1 error

Das sieht doch ganz danach aus, dass eine Bibliothek nicht eingebunden ist? Aber welche? Oder liegt der Fehler an einer anderen Stelle?

VG Andrea
 
Das sind nur Aussschnitte oder? So sieht dein Code nicht wirlich aus oder?
Sonst würd ich mich echt nochmal mit den Grundlagen beschäftigen, bevor du da mit komplexeren Swing Dingen arbeitest...
 
ja, statt über Bibliotheken nachzudenken (welche sollten es sein, alles Standard-API) müsstest du eher Fehlermeldungen lesen können,
ein int-Wert passt überhaupt nicht zur addRow()-Methode, ganz wie die Fehlermeldung es sagt,
was addRow() ist, was man da übergeben sollte usw. kann in der Bedienungsanleitung zur Klasse nachgelesen werden
oder besser in einem allgemeinen Tutorial

> private JTable jtZinsen = new JTable(5, 4);
> private DefaultTableModel jtZinsenModel = (DefaultTableModel) jtZinsen.getModel();

wird zur Laufzeit übrigens auch Probleme machen, aber das muss man nicht wissen, hatte ich selber auch diverse Male,
nur bevor du fragst:
die erste Zeile erzeugt eine JTable mit einem internen festen Model, dies ist KEIN DefaultTableModel,
du musst dir selber ein DefaultTableModel-Objekt anlegen, da Zeilen und Spalten alles konfigurieren

Tipp für Suchmaschinen: java defaulttablemodel example
->
DefaultTableModel: addRow(Object[] rowData) : DefaultTableModeljavax.swing.tableJava by API
und tausende andere Seiten
 

Neue Themen


Zurück
Oben