Mostrar cualquier estructura de datos en un JTable

Supongamos que tenemos una LinkedList con una lista de movimientos bancarios y queremos que su contenido aparezca en un JTable, de forma que se actualice automáticamente si cambiamos los datos del LinkedList.
 

  1. Lo primero es crear una clase que herede de AbstractTableModel.
  2. Redefinir los métodos siguientes:
    • String getColumnName(int columna). Tiene que devolver un String con el título de la columna indicada
    • int getColumnCount(). Tiene que devolver un entero con el número de columnas de la lista de movimientos.
    • int getRowCount(). Tiene que devolver un entero con el número de filas de la lista de movimientos.
    • Object getValueAt(int f, int c). Tiene que devolver el dato que deberá aparecer en la fila y columna indicadas.Un ejemplo, lo podemos ver en el listado siguiente:
          class InfoMovimientos extends AbstractTableModel {         LinkedList listaMovimientos = null;                 public InfoMovimientos (LinkedList mov) {             this.listaMovimientos = mov;         }                 public String getColumnName (int column) {             String[] nombreCols = { "Fecha", "Tipo", "Importe", "Saldo"} ;             return nombreCols[column];         }                 public int getColumnCount() {             return 4;         }                 public int getRowCount() {             if (cuenta != null)                 return listaMovimientos.size();             else                 return 0;         }                 public Object getValueAt(int fila, int col) {             Movimiento m = (Movimiento)listaMovimientos.get(fila);             switch (col) {                 case 0: return m.fecha;                 case 1: switch (m.tipo) {                         case 'I': return "ingreso";                         case 'R': return "reintegro";                     }                 case 2: return new Float (m.importe);                 case 3: return new Float (m.saldo);             }             return "";         }     } 
  3. Asignar este modelo de datos al JTable:
    //movimientos es un LinkedList con la lista de movimientos InfoMovimientos modelo = new InfoMovimientos(movimientos); mitabla = new JTable(modelo); 
Tags: ,

Si te gustó esta entrada anímate a escribir un comentario o suscribirte al feed y obtener los artículos futuros en tu lector de feeds.

Comentarios

Aún no hay comentarios.

Escribe un comentario