En artículos anteriores hemos tenido la oportunidad de estudiar componentes para la organización de información en un Software, como lo son las tablas o JTable en Java, un aspecto muy importante en el uso de este tipo de componentes es poder obtener los valores que en ellas reposan, ya sea para hacer validaciones o comprobaciones sobre los datos almacenados, en este artículo veremos como recorrer JTable en Java para obtener los datos, además veremos un ejemplo de validación sobre los datos almacenados.
Como recorrer JTable en Java para obtener y validar datos
Para este ejemplo tendremos el siguiente formulario el cual consta de un JTable (Con valores de ejemplo) y un JButton para desencadenar la acción de recorrer todos los valores del JTable.
Teniendo el formulario anterior al hacer clic en el JButton debemos recorrer el JTable para realizar las dos acciones siguientes.
🌟 ¡Visita Nuestra Tienda para Programadores! 🌟Descubre Códigos Fuente, Cursos, Software, Computadoras, Accesorios y Regalos Exclusivos. ¡Todo lo que necesitas para llevar tu programación al siguiente nivel!
1. Obtener los valores de un JTable en Java
Para esto necesitamos hacer uso de un ciclo for con el cual iterar sobre todos los registros del JTable, código del JButton:
for (int i = 0; i < TablaDatos.getRowCount(); i++) { System.out.println("Registro número: "+i); System.out.println("ID: "+TablaDatos.getValueAt(i, 0)); System.out.println("NOMBRE: "+TablaDatos.getValueAt(i, 1)); System.out.println("TELÉFONO: "+TablaDatos.getValueAt(i, 2)); }
Con el código anterior recorremos el JTable y mostramos los datos, la propiedad getRowCount() del JTable permitirá saber de forma exacta cuantos registros existen, para así recorrer el JTable el número de veces necesarias, si ejecutamos este código obtendríamos:
Registro número: 0 ID: 1 NOMBRE: José TELÉFONO: 0899999 Registro número: 1 ID: 2 NOMBRE: María TELÉFONO: 0877333 Registro número: 2 ID: 3 NOMBRE: Luis TELÉFONO: 0980034 Registro número: 3 ID: 4 NOMBRE: Luna TELÉFONO: 0723341
2. Validar datos de un JTable en Java
Algo importante que podemos realizar al momento de recorrer JTable en Java son validaciones sobre los datos; veamos como ejemplo si en nuestro JTable existe un registro con el número de teléfono «0877333».
Recomendado para ti: Aprende a Programar con Java (Informática)
for (int i = 0; i < TablaDatos.getRowCount(); i++) { if(TablaDatos.getValueAt(i, 2).toString().equals("0877333")){ System.out.println("El número si existe"); }else{ System.out.println("El número no existe"); } }
Con el código anterior comparamos todos los valores de la columna 2 en la cual están los números de teléfono, obtendríamos:
El número no existe El número si existe El número no existe El número no existe
Si no queremos hacer o mostrar mensajes cuando la condición no es verdadera como en las iteraciones 1,3 y 4 podemos usar una variable.
int a = 0; for (int i = 0; i < TablaDatos.getRowCount(); i++) { if(TablaDatos.getValueAt(i, 2).toString().equals("0877333")){ a+=1; } } if (a>0) { System.out.println("Se encontró el número"); }else{ System.out.println("No se encontró el número"); }
En el código anterior se usan dos condicionales: el primero dentro del ciclo para comparar todos los valores; si se encuentra una igualdad asignamos o sumamos 1 a la variable «a» y el segundo solo para validar o verificar si «a» es mayor que cero quiere decir que el número fue encontrado, también se podría apoyar en la variable «a» para decir cuantas veces se encontró ese número.
int a = 0; for (int i = 0; i < TablaDatos.getRowCount(); i++) { if(TablaDatos.getValueAt(i, 2).toString().equals("08773e33")){ a+=1; } } if (a>0) { System.out.println("Se encontró el número "+a+" veces"); }else{ System.out.println("No se encontró el número"); }
De esta forma podrás manipular los datos almacenados en tus componentes JTable.
Muchas gracias por su aporte
Con gusto amigo, Saludos!
Gracias Brothers me fue de mucha ayuda
Que bién, saludos!
Amigo para obtener datos y almacenarlos en variables enteras como se logra?
Amigo, el mismo código te sirve, solo debes ajustarlo y convertir los valores a entero ejemplo:
int variable = Intener.parseInt(TablaDatos.getValueAt(i, 2).toString());
Saludos!
EXCELENTE ME AYUDO MUCHO,
Que bien Josue, gracias por comentar.
Éxitos!
Execelente me esta ayudando bastante
Que bien que sea de gran ayuda mis artículos, éxitos en tu aprendizaje.
MUCHAS GRACIAS ENCERIO ME AYUDO BASTANTE TU INFORMACIÓN
EXECELENTE TRABAJO
🙂