titulo - agregar columnas a un jtable en java
El encabezado de la columna JTable no es visible (3)
A continuación, se indica cómo agregar un encabezado a una JTable sin usar 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);
el encabezado de columna no está visible en mi JTable. He creado un JPanel y he añadido JTable al 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);
La API para estados JTable:
"Tenga en cuenta que si desea utilizar una JTable en una vista independiente (fuera de JScrollPane) y desea que se muestre el encabezado, puede obtenerla usando getTableHeader () y mostrarla por separado."
O simplemente agregue la tabla a un panel de desplazamiento y agregue su panel de desplazamiento al panel ...
Puedes agregar el siguiente código en tu código
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
renderer.setPreferredSize(new Dimension(0, 0));
table.getTableHeader().setDefaultRenderer(renderer);