Jtable dinámico – Java y Netbeans

Visitas: 1116  
Tiempo total: 19 días con 20:25:15 hrs  

En esta publicación muestro el simple código que permite dinamismo en las tablas Java, estas son utilizadas para mostrar la información de los errores de un compilador, las transacciones realizadas en una base de datos, el estado de los tokens de un compilador (De nuevo), entre otros.

im1 - JTable dinamico

Para empezar, arrastramos el elemento JTable al panel que hemos creado gráficamente, ahora agregamos las columnas que utilizaremos seleccionado Table contents en el menú que aparece al dar click derecho en la tabla que hemos arrastrado.

im2 - Table contents

Por facilidad indicamos que los elementos sean tipo objeto, para no realizar un casteo para cada elemento que vamos a agregar. Ahora el siguiente paso es asignar un nombre de variable a la tabla, en mi caso será jtabla_bitacora.

im3 - Nombre de tabla

Definimos el modelo que utilizaremos para editar la tabla:

public static DefaultTableModel modelo;

Y utilizamos el siguiente método:

public void start(){
modelo=(DefaultTableModel) jtabla_bitacora.getModel();
int i=0;
if(modelo.getRowCount()!=0){
while(i!=-1){
try{
modelo.removeRow(modelo.getRowCount()-1);
}catch(Exception e){
i=-1;
}
}
}
try{
ArrayList<String[]> lista = Db2_proyecto1.db.get_bitacora();
Iterator<String[]> it = lista.iterator();
while(it.hasNext()){
String[] obj = it.next();
modelo.addRow(obj);
}
}catch(Exception e){
System.out.println("Error: "+e);
}
}

Observamos simplemente la asignación del modelo de la tabla a nuestra variable, la eliminación de los registro actuales y por último, el método que nos devuelve una lista que contiene las columnas que le indicamos a la tabla y la asignación de el array de String a los objetos que conforman cada fila de la tabla.

Finalizando

Publico este código porque fue una herramienta de bastante utilidad al momento de mostrar información cuando desarrollaba los proyectos de compiladores, y algunos de bases de datos.

Resumen

Copiar, pegar y compilar.


Para recibir boletines de información, por favor escribe tu correo electrónico:

Por favor ingrese un correo electrónico valido.
Registrado correctamente!