Hola a todos:
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 originalpackage 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;
public class PruebaTablita
extends JFrame { //Crear la GUI
super("Prueba de tablita de mis amores");
setDefaultCloseOperation
(JFrame.
EXIT_ON_CLOSE); setSize(1000, 500);
setVisible(true);
//Crear la Tabla
CrearModelo mod = new CrearModelo();
//Añadir la tablita a la GUI
}
public static void main
(String []args
){ PruebaTablita vamos = new PruebaTablita("2010");
}
}
CrearModelo(){
cargarDatos();
}
void cargarDatos(){
String []meses
= {"enero",
"febrero",
"marzo",
"abril",
"mayo",
"junio",
"julio",
"agosto",
"septiembre",
"octubre",
"noviembre",
"diciembre"}; columnas.
add( (String) "Abonos"); columnas.
add( (String) "Ingresos"); columnas.
add( (String) "G. Directos"); columnas.
add( (String) "G. Indirectos"); columnas.
add( (String) "Casa"); columnas.
add( (String) "Caja"); columnas.
add( (String) "TOTAL"); columnas.
add( (String) "ACUMULADO");
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() *********************/
public String getColumnName
( int c
) { return (String) columnas.
elementAt( c
); }
/*************** 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 ***/
public void setValueAt
( Object valor,
int fila,
int col
) { //Vector v = (Vector) filas.elementAt(fila);
//v.set( col, valor);
}
/******************* getValueAt() *********************/
public Object getValueAt
( int fila,
int col
) { System.
out.
println(fila
+" "+col
); // Vector v = (Vector) filas.elementAt(fila);
//return v.elementAt( col );
return(filas.get(fila));
}
}