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.

- Lo primero es crear una clase que herede de AbstractTableModel.
- Redefinir los métodos siguientes:
String getColumnName(int columna). Tiene que devolver un String con el título de la columna indicadaint 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 ""; } }
- 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);
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