Yo sigo luchando con sacar los datos de un excel, al fin lo conseguí gracias a vuestra ayuda, y mostrarlo en una tabla, también gracias a vuestra ayuda logré.
He leído muchos manuales de cómo hacerlo, utilizando como modelo una matriz (Array), un Vector y un ArrayList. Los he probado todos y nunca logro aumentar los registros o que los muestre correctamente. El menor resultado que he podido obtener ha sido con ArrayList, pero lo que yo quiero es que:
- Me muestre "Enero" y las siguientes casillas de la fila vacías, ya me buscaré la forma de llenarlas.
- En la siguiente fila "febrero" y ya llenaré yo las demás.
- Me gustaría saber por qué funciona el public Object getValueAt( int fila, int col ) cuando yo no le he llamado. Quizá sea una característica de AbstractTableModel.
Me da la impresión de que el problema está al final, en la clase public Object getValueAt( int fila, int col ). Creo que colocando allí los parámetros adecuados puede solucionarse el problema, lo que pasa es que no he podido encontrar esos parámetros googleando.
Bueno, aquí el código por si alguien puede ayudarme. Muchas gracias a todos.
Código Java:
Ver original
package cuentas_anuales; import javax.swing.JFrame; import javax.swing.JLabel; import java.awt.*; import javax.swing.JTable; import javax.swing.table.AbstractTableModel; import java.util.*; import javax.swing.JScrollPane; //Crear la GUI super("Prueba de tablita de mis amores"); setSize(1000, 500); setVisible(true); //Crear la Tabla CrearModelo mod = new CrearModelo(); //Añadir la tablita a la GUI JScrollPane scroll = new JScrollPane( tab, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); } PruebaTablita vamos = new PruebaTablita("2010"); } } CrearModelo(){ cargarDatos(); } void cargarDatos(){ String []meses = {"enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"}; for(int i = 0; i < meses.length; i++){ fila0.add(0); fila0.add(i); //fila0.setElementAt( "Enero", 0);/**/ filas.addAll(i, fila0); fila0.clear(); } //System.out.println(filas); } /*************** getColumnName() *********************/ } /*************** getColumnCount() ******************/ public int getColumnCount() { return columnas.size(); } /****************** getRowCount() *******************/ public int getRowCount() { return filas.size(); } /******************* setValueAt() *********************/ /*** Llamada automáticamente cuando termina la edición de una celda ***/ //Vector v = (Vector) filas.elementAt(fila); //v.set( col, valor); } /******************* getValueAt() *********************/ // Vector v = (Vector) filas.elementAt(fila); //return v.elementAt( col ); return(filas.get(fila)); } }