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);