Подтвердить что ты не робот

Заголовок 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); 
4b9b3361

Ответ 1

API для состояний JTable:

"Обратите внимание, что если вы хотите использовать JTable в отдельном представлении (вне JScrollPane) и хотите, чтобы заголовок отображался, вы можете получить его, используя getTableHeader() и отобразить его отдельно."

Или просто добавьте таблицу в scrollpane и добавьте вашу панель прокрутки к панели...

Ответ 2

Здесь, как добавить заголовок в JTable без использования JScrollPane:

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

Ответ 3

Вы можете добавить следующий код в свой код

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