Sí, supuse que sería eso, así que intenté pasarle tipos al constructor (junto con datos y nombreColumnas) de esta forma:
Código:
jTable1.setModel(new javax.swing.table.DefaultTableModel(datos, nombreColumnas, tipos) {
Pero netbeans me da este error:
Cita: cannot find symbol
symbol constructor DefaultTableModel(java.lang.Object[][], java.lang.String[], java.lang.Class[])
location javax.swing.table.DefaultTableModel
Así que intenté inicializar tipos dentro de los corchetes del constructor DefaultTableModel:
Código:
jTable1.setModel(new javax.swing.table.DefaultTableModel(datos, nombreColumnas) {
Class[] tipos = new Class[numColumnas];
for (int i = 0; i < numColumnas; i++)
tipos[i] = datos[0][i].getClass();
public Class getColumnClass(int columnIndex) {
return tipos[columnIndex];
}
});
Pero si lo escribo así me lanza errores en las líneas coloreadas:
Rojo: Cita: local variable numColumnas is accessed from within inner class; needs to be declared final
Y aún declarándola final me marca error
Azul: Cita: Cannot find symbol
symbol: class i
Cannot find symbol
symbol: class numColumnas
> expected
Cannot find symbol
symbol: class i
<identifier> expected
Field hides another field
Verde: Cita: Cannot find symbol
Symbol: class tipos;
] expected
; expected
Cannot find symbol
Symbol: class datos;
] expected
Cannot find symbol
symbol: class i
<identifier> expected
invalid method declaration; return type required
Field hides another field
Add @Override Annotation
Y con esto es que me pierdo
Ojalá puedas echarme una mano con esto.
De antemano gracias.
¡Saludos!