Christian: Problem mit JTable

Hi!

Ich habe folgendes Problem: Ich habe ein Programm, das beim Start eine Tabelle darstellt, zu Beginn ohne Inhalt. Drückt man einen Knopf, wird die Tabelle mit Inhalt gefüllt, vor dem Knopf drücken ist aber nicht bekannt wieviele Zeilen es sind.

Ich weiß aber nicht wie ich im ActionListener des Knopfes die Anzahl der Zeilen verändern kann.

Ich will einfach bei jedem Drücken des Knopfes die Zeilenanzahl und den Inhalt der Zeilen verändern.

Danke!

  1. Servus Christian

    Das kommt darauf an, was du als Datenquelle hast. Wenn die Datenquelle z.B. eine Datenbank oder ein XML-File ist, dann ist es unerheblich wieviel Elemente an die JTable anzuhängen sind. Du Iterierst dann über die gelieferte Collection und hängst an die JTable Elemente an, solange diese geliefert werden.
    z.B.
    while (iterationsQuelle.hasNext()){
      // mach watt und hänge Daten an!
    }

    Ich weiß aber nicht wie ich im ActionListener des Knopfes die Anzahl der Zeilen verändern kann.

    Wie gesagt, geh hier nicht von einer festen Anzahl aus.

    Hope it helps
    Gruß Hansjörg

    1. Hi!

      Danke, aber wie hänge ich die JTable Elemente an?

      Ich habe eine Berchnung, die den Vector "ergebnis" liefert. Diesen Vector will ich dann in die JTable einfügen, also:

      ////////

      JTable tabelle = new JTable();

      for (int i=0; i<ergebnis.size(); i++)
      {
         String temp = String.valueOf(ergebnis.get(i));

      // teile den String in die Inhalte auf
         eins = 1. Teil von temp
         zwei = 2. Teil von temp

      // und jetzt sollen die beiden Teile in die JTable, probiert
         // habe ich es mit "setValueAt", also
         tabelle.setValueAt(eins,0,i);
         tabelle.setValueAt(eins,1,i);

      // aber das tut leider nicht, da gibt es ein "Index out of Bounds"
      }

      1. Hallo,

        Danke, aber wie hänge ich die JTable Elemente an?

        Über das Model der Tabelle, das du über JTable.getModel() kriegst.
        Wenn du dir die Doku zu JTable anguckst, wirst du dort einen Link
        auf ein Java-Tutorial "How To Use Tables" finden.
        Außerdem wird JTable in deinem Java-Buch, das du hoffentlich besitzt,
        sicherlich ausführlich erklärt. (Ansonsten lade dir das Java-Buch
        von Guido Krüger (http://www.javabuch.de) oder das Insel-Buch
        (http://www.galileocomputing.de/openbook/javainsel2/) runter.)
        Interessant ist auch immer der Java Almanach http://www.javaalmanac.com/egs/?,
        in deinem Fall also http://www.javaalmanac.com/egs/javax.swing.table/pkg.html.

        Ich denke, das sollte für's erste reichen. :-)

        Gruß
        Slyh

      2. Hi,

        auch für dieses Problem gibts ne Lösung. Schau dir mal das folgende Beispiel an. Dabei benutzt du ein TableModel und fügst diesem die Daten hinzu.
        http://forum.de.selfhtml.org/archiv/2003/12/67158/#m384113

        Grüße aus der Schwabenmetropole
        Hansjörg

        1. Vielen Dank!!!!

          Es klappt jetzt perfekt!