Заголовок столбца JTable не виден - PullRequest
27 голосов
/ 18 мая 2011
Заголовок столбца

не виден в моей 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); 

Ответы [ 3 ]

53 голосов
/ 18 мая 2011

API для JTable гласит:

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

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

15 голосов
/ 23 сентября 2011

Вот как добавить заголовок в 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);
2 голосов
/ 05 мая 2012

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

DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
renderer.setPreferredSize(new Dimension(0, 0));
table.getTableHeader().setDefaultRenderer(renderer);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...