JTable列标题不可见

列标题在我的JTable中不可见我创建了一个JPanel并将JTable添加到JPanel。

Object rowData[][] = { { "Row1-Column1", "Row1-Column2", "Row1-Column3"}, { "Row2-Column1", "Row2-Column2", "Row2-Column3"} }; Object columnNames[] = { "Column One", "Column Two", "Column Three"}; JTable jTable = new JTable(rowData, columnNames); 

JTable的API声明:

“请注意,如果您希望在独立视图中使用JTable(在JScrollPane之外)并希望显示标题,您可以使用getTableHeader()获取它并单独显示它。”

或者只是将表格添加到滚动窗格,然后将滚动窗格添加到面板中……

以下是如何在不使用JScrollPane的情况下向JTable添加标头:

 int rows = 21; int cols = 3; JTable table = new JTable(rows, cols); JTableHeader header = table.getTableHeader(); JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); panel.add(header, BorderLayout.NORTH); panel.add(table, BorderLayout.CENTER); 

您可以在代码中添加以下代码

 DefaultTableCellRenderer renderer = new DefaultTableCellRenderer(); renderer.setPreferredSize(new Dimension(0, 0)); table.getTableHeader().setDefaultRenderer(renderer);