Foros del Web » Programación para mayores de 30 ;) » Java »

imposibilidad de obtener los datos correctos de una ArrayList

Estas en el tema de imposibilidad de obtener los datos correctos de una ArrayList en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 24/12/2010, 02:34
 
Fecha de Ingreso: febrero-2005
Mensajes: 76
Antigüedad: 19 años, 9 meses
Puntos: 1
imposibilidad de obtener los datos correctos de una ArrayList

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 original
  1. package cuentas_anuales;
  2.  
  3. import javax.swing.JFrame;
  4. import javax.swing.JLabel;
  5. import java.awt.*;
  6. import javax.swing.JTable;
  7. import javax.swing.table.AbstractTableModel;
  8. import java.util.*;
  9. import javax.swing.JScrollPane;
  10.  
  11. public class PruebaTablita extends JFrame  {
  12.     PruebaTablita(String fecha){
  13.         //Crear la GUI
  14.         super("Prueba de tablita de mis amores");
  15.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  16.         setSize(1000, 500);
  17.         setVisible(true);
  18.  
  19.         JLabel etiqueta = new JLabel("Cuentas anuales del año "+fecha, JLabel.CENTER);
  20.         this.getContentPane().setLayout( new BorderLayout() );
  21.         this.getContentPane().add(etiqueta, BorderLayout.NORTH);
  22.  
  23.         //Crear la Tabla
  24.         CrearModelo mod = new CrearModelo();
  25.  
  26.         //Añadir la tablita a la GUI
  27.         JTable tab = new JTable(mod);
  28.         JScrollPane scroll = new JScrollPane( tab, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
  29.         this.getContentPane().add(scroll, BorderLayout.CENTER);
  30.     }
  31.     public static void main (String []args){
  32.         PruebaTablita vamos = new PruebaTablita("2010");
  33.     }
  34.  
  35. }
  36.  
  37. class CrearModelo extends AbstractTableModel {
  38.    ArrayList filas = new ArrayList(); // Antes era un Vector vector de vectores
  39.    Vector columnas = new Vector();       // Vector de columnas
  40.    CrearModelo(){
  41.        cargarDatos();
  42.    }
  43.     void cargarDatos(){
  44.        String []meses = {"enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"};
  45.        columnas.add( (String) "");
  46.        columnas.add( (String) "Abonos");
  47.        columnas.add( (String) "Ingresos");
  48.        columnas.add( (String) "G. Directos");
  49.        columnas.add( (String) "G. Indirectos");
  50.        columnas.add( (String) "Casa");
  51.        columnas.add( (String) "Caja");
  52.        columnas.add( (String) "TOTAL");
  53.        columnas.add( (String) "ACUMULADO");
  54.  
  55.        ArrayList fila0 = new ArrayList();
  56.        for(int i = 0; i < meses.length; i++){
  57.             fila0.add((String) meses[i]);
  58.             fila0.add((String) "");
  59.             fila0.add((String) "");
  60.             fila0.add((String) "");
  61.             fila0.add((String) "");
  62.             fila0.add((String) "");
  63.             fila0.add((String) "");
  64.             fila0.add(0);
  65.             fila0.add(i);
  66.             //fila0.setElementAt( "Enero", 0);/**/
  67.             filas.addAll(i, fila0);
  68.             fila0.clear();
  69.         }
  70.        //System.out.println(filas);
  71.     }
  72.  
  73.     /*************** getColumnName() *********************/
  74.     public String getColumnName( int c ) {
  75.        return (String) columnas.elementAt( c );
  76.     }
  77.  
  78.     /*************** getColumnCount() ******************/
  79.     public int getColumnCount() {
  80.        return columnas.size();
  81.     }
  82.  
  83.     /****************** getRowCount() *******************/
  84.     public int getRowCount() {
  85.        return filas.size();
  86.     }
  87.  
  88.     /*******************  setValueAt() *********************/
  89.     /*** Llamada automáticamente cuando termina la edición de una celda ***/
  90.     public void setValueAt( Object valor, int fila, int col ) {
  91.        //Vector v = (Vector) filas.elementAt(fila);
  92.        //v.set( col, valor);
  93.     }
  94.  
  95.     /*******************  getValueAt() *********************/
  96.     public Object getValueAt( int fila, int col ) {
  97.         System.out.println(fila+" "+col);
  98.       // Vector v = (Vector) filas.elementAt(fila);
  99.        //return v.elementAt( col );
  100.         return(filas.get(fila));
  101.     }
  102. }

Etiquetas: arraylist
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:17.