使用以下代码,无法管理获取列标题以显示..添加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);
答案 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);
}