Recorrer JTable en Java para obtener y validar datos

Java

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.

Recorrer jtable en java

Teniendo el formulario anterior al hacer clic en el JButton debemos recorrer el JTable para realizar las dos acciones siguientes.

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.

¡Suscríbete a mi canal, para acceder a más contenidos gratuitos!

10 comentarios

  1. Maximiliano Contestar

    Amigo para obtener datos y almacenarlos en variables enteras como se logra?

    • Ivan David Lopez Contestar

      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!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *