94erbrom
Goto Top

JTable mit Vektor füllen und in JPanel aus bestehender GUI einfügen

Hallo zusammen,

ich habe eine GUI erstellt, in dieser liegt das JPanel mit dem Namen tabPanel.
Nun möchte ich mit Hilfe der Vektoren tabelle und inhalt die Tabelle jtabelle füllen und in tabPanel anzeigen lassen.

Mein Java-Kenntnis-Stand:
Programmiere erst seit einem Monat Java und kann nur die wichtigsten Basics und mit Buttons, TextViews und TextEdits arbeiten.


public static void tabelleFuellen(){
        Vector tabelle = new Vector();
        Vector inhalt = new Vector();
        
        Vector tabellenkopf = new Vector();
        tabellenkopf.add("Spalte 1");
        tabellenkopf.add("Spalte 2");
        tabellenkopf.add("Spalte 3");
        
        do{
            sEins= "Zeile "+i+"Spalte 1";
            sZwei = "Zeile "+i+"Spalte 2";
            sDrei = "Zeile "+i+"Spalte 3";
            i++;
            inhalt.add(sEins);
            inhalt.add(sZwei);
            inhalt.add(sDrei);
            tabelle.add(inhalt);
        }while(i<=10);
        JTable jtabelle = new JTable(tabelle, tabellenkopf);
        JScrollPane  tabScroll = new JScrollPane(jtabelle);
               
        gui.tabPanel.add(tabScroll);
        tabScroll.setVisible(true);
        jtabelle.setVisible(true);
        
    }

Das Programm erfüllt nur den Zweck, mir zu zeigen, wie ich genau diese Problemstellung lösen kann.
Ich will es als Orientierung für ein anderes, bis auf eine Tabelle fast fertiges Projekt benutzen.

Freu mich sehr über schnelle Antworten.

LG 94erBrom

Content-ID: 248397

Url: https://administrator.de/contentid/248397

Ausgedruckt am: 26.11.2024 um 12:11 Uhr

colinardo
colinardo 05.09.2014 aktualisiert um 15:21:24 Uhr
Goto Top
Moin 94erBrom,
hier ein komplett lauffähiges Beispiel:
import javax.swing.*;
import java.awt.*;
import java.util.Vector;

public class mainform {
    private static JFrame frame;
    private static JTable jtabelle;

    public static void main(String args) {
        // Form erzeugen
        frame = new JFrame("mainform");  
        frame.setPreferredSize(new Dimension(600,300));
        // Tabelle erzeugen
        fillTable();
        // Tabelle dem Content-Panel hinzufügen
        frame.getContentPane().add(new JScrollPane(jtabelle));

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }

    public static void fillTable(){
        // Vector der alle Zeilen enthält
        Vector tableData = new Vector();

        // Vector für den Tabellendefinition
        Vector tabellenkopf = new Vector();
        tabellenkopf.add("Spalte 1");  
        tabellenkopf.add("Spalte 2");  
        tabellenkopf.add("Spalte 3");  

        // Fülle tableData mit Zeilen
        for(int i=1;i<=10;i++){
            // Vector der die Daten der einzelnen Spalten für diese Zeile enthält
            Vector vec = new Vector();

            // Spaltendaten hinzufügen
            vec.add("Zeile "+ i +" Spalte 1");  
            vec.add("Zeile "+ i +" Spalte 2");  
            vec.add("Zeile "+ i +" Spalte 3");  

            // Zeilenvector dem Tabellenvector hinzufügen
            tableData.addElement(vec);
        }
        // JTable aus dem Tabellenvector und der Tabellendefinition erzeugen
        jtabelle = new JTable(tableData,tabellenkopf);
    }
}
Grüße Uwe