Заголовок 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);
Ответы
Ответ 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);