列标题在Jtable中不可见

时间:2012-05-21 14:21:19

标签: java jtable

使用以下代码,无法管理获取列标题以显示..添加Jscroolpane也是如此,但没有运气......

String[] col = {"COLA","COLB","COLC"};
Object[][] data = {};

DefaultTableModel model = new DefaultTableModel(data,col);


JTable table = new JTable(model);
JScrollPane scrollPane = new JScrollPane(table);

contentPane.add(table);
table.setBounds(295, 11, 512, 411);
contentPane.add(scrollPane,BorderLayout.CENTER);

2 个答案:

答案 0 :(得分:3)

构造JScrollPane时,将表传递给它,这是它唯一的子组件。但是,您将表添加到contentPane,这意味着您将其从JScrollPane中删除并将其添加到内容窗格。您不能将表添加到contentPane。只有scrollPane,它本身包含表。

此外,请勿使用setBounds()。无论如何,这是没有意义的,因为您正在使用布局管理器来处理组件的定位。在这种情况下,它甚至有意义,因为该表由JScrollPane处理。

答案 1 :(得分:2)

这有效:

public static void main(String[] args) {
  String[] col = { "COLA", "COLB", "COLC" };
  Object[][] data = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
  DefaultTableModel model = new DefaultTableModel(data, col);
  JTable table = new JTable(model);
  JFrame frame = new JFrame();
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.getContentPane().add(new JScrollPane(table));
  frame.setVisible(true);
}