Daniel: JTable Header

Hallo zusammen

Ich habe versucht eine JTable in mein JFrame zu integrieren. Leider werden die Spaltenköpfe nicht angezeigt. Warum??

public void initTable() {

Container contentPane = this.getContentPane();

String[][] data = {
  {"Test","Test","Test","Test"},
  {"Test","Test","Test","Test"},
  {"Test","Test","Test","Test"},
  {"Test","Test","Test","Test"},
  {"Test","Test","Test","Test"},
  };

String[] col = {"Test1","Test2","Test2","Test3"};

JTable jTable1 = new JTable(data, col);

contentPane.add(new JScrollPane(jTable1),"Center");

jTable1.setBounds(450,80,200,200);
        contentPane.add(jTable1);
 }

Gruss Daniel

  1. Hallo Daniel!

    Da muß man den JTable vorher in einer JScrollPane unterbringen (und die dann in der contentPane einfügen), wenn ich mich recht erinnere.

    Gruß

    Jimbo

  2. Hey Daniel,

    versuche mal deiner Tabelle ein TableModel zuzuweisen.
    Dieser kannst du dann auch Überschriften hinzufügen. Ich hab ne kleine Testklasse geschrieben. Vielleicht ist das ja für dich hilfreich.

    Gruß Hansjörg

    import java.awt.*;
    import javax.swing.*;
    import javax.swing.table.*;

    public class Test extends JFrame
    {
     public Test()
     {
        JPanel mPanel;
        mPanel = (JPanel) this.getContentPane();
        this.setSize(new Dimension(600, 500));

    DefaultTableModel model = new DefaultTableModel();
        JTable table = new JTable(model);
        table.setForeground(Color.decode( "#456765" ));
        table.setBackground(Color.decode( "#123456" ));

    // Create some caption data
        model.addColumn("Hansjörg");
        model.addColumn("ist");
        model.addColumn("doof");

    for (int i=0;i<20;i++)
        {
           model.addRow(new Object[]{"ist","er","nicht"});
           model.addRow(new Object[]{"ist","er","doch"});
        }

    mPanel.add( new JScrollPane(table));
        this.show();

    }

    public static void main(String[] args)
      {
       Test t = new Test();
      }
    }

    1. Hallo Hansjörg!

      Danke für dein Beispiel. Ich werde das ausprobieren!

      Gruss Daniel

  3. Hallo,

    Ich habe versucht eine JTable in mein JFrame zu integrieren. Leider werden die Spaltenköpfe nicht angezeigt. Warum??

    public void initTable() {

    Container contentPane = this.getContentPane();

    ...

    JTable jTable1 = new JTable(data, col);

    contentPane.add(new JScrollPane(jTable1),"Center");

    Bis hierher verstehe ich, was Du tun willst.

    jTable1.setBounds(450,80,200,200);
            contentPane.add(jTable1);

    Aber was machst Du jetzt? Warum wird die Tabelle nun nochmals ohne ScrollPane in den contentPane geschrieben?

    }

    viele Grüße

    Axel

    1. Hallo Axel

      Vielleicht liegt es daran, dass ich in den JAVA-Durchblick noch nicht ganz habe...

      Gruss Daniel