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

Tabla y arraylist

Estas en el tema de Tabla y arraylist en el foro de Java en Foros del Web. Bueno tengo una clase persona (String:nombre e int:edad) y queria saber si a partir de u arraylist de personas puedo hacer una tabla con ellas ...
  #1 (permalink)  
Antiguo 19/11/2008, 08:38
 
Fecha de Ingreso: marzo-2008
Mensajes: 96
Antigüedad: 16 años, 2 meses
Puntos: 8
Tabla y arraylist

Bueno tengo una clase persona (String:nombre e int:edad) y queria saber si a partir de u arraylist de personas puedo hacer una tabla con ellas mencionando el nombre en una columna y la edad en otra.
En ppio quiero saber si se`puede hacer y si me pueden dar una manito mejor.
Estoy trabajando con interfaz windows.
Gracias
Matias
  #2 (permalink)  
Antiguo 19/11/2008, 12:48
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Tabla y arraylist

Sí se puede hacer, pero no directamente.

Una opción es crear un DefaultTableModel y ahí meter las dos columnas y con los métodos setValueAt() ir copiando los datos del ArrayList. Así, por supuesto, no estás usando el ArrayList salvo para copiar.

Otra opción mejor pero más trabajosa es hacer una clase que tenga dentro el ArrayList y que implemente TableModel. Define los métodos de esta interface de forma que hagan la consulta al ArrayList. Por ejemplo, el metodo getColumnCount() debe devolver 2, el getRowCount() tantas filas como elementos tenga el ArrayList, el getValueAt(fila,columna) debe devolver según la fila y la columna bien el nombre o la edad de una persona concreta, etc, etc.
Luego puedes meter esta clase directamente en el constructor del JTable.

Aquí tienes un ejemplo de cómo implementar tu propio TableModel.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 19/11/2008, 12:51
 
Fecha de Ingreso: marzo-2008
Mensajes: 96
Antigüedad: 16 años, 2 meses
Puntos: 8
Respuesta: Tabla y arraylist

gracias denuevo
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 18:29.