JTable Header
Daniel
- java
0 Jimbo0 Hansjörg0 Daniel
0 Axel Richter0 Daniel
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
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
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();
}
}
Hallo Hansjörg!
Danke für dein Beispiel. Ich werde das ausprobieren!
Gruss Daniel
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
Hallo Axel
Vielleicht liegt es daran, dass ich in den JAVA-Durchblick noch nicht ganz habe...
Gruss Daniel