JTable 列标题不可见

2022-09-01 11:20:55

列标题在我的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); 

答案 1

用于 JTable 的 API 指出:

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

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


答案 2

下面介绍如何在不使用 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);

推荐