Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


Barra lateral

Proyecto Integral de Ingeniería del Software
Metodologías Ágiles
Trabajo Fin De Grado
Guía Memoria TFG

Colecciones

Otros

dad:jtable

JTable

Vamos a implementar una JTable que muestre los hilos lanzados con un contador de iteraciones por Hilo y otro contador de iteraciones totales:

Implementación de la GUI

Primero creamos una nueva ventana desde el Window Builder: A continuación insertamos la JTable en la ventana y en propiedades de esta vamos a model: Cuando le demos a model nos saldrá la siguiente ventana con el editor de la tabla: En la derecha le daremos a insertar una vez, colocaremos abajo el nombre de la columna, en este caso conteo, le daremos a insertar de nuevo y pondremos como nombre Hilos. Podemos ajustar el tamaño de las columnas abajo, en este caso la columna Hilos será de tamaño 200: Tras darle a aceptar, no veremos nada en donde hemos insertado la tabla, ahora le daremos click derecho al recuadro donde debería estar la tabla e iremos a Surround With y seleccionaremos JScrollPane: Tras eso tendremos algo como esto:

Ahora que hemos terminado con la inserción de la JTable insertaremos el Botón Lanzar y la Jlabel que irá al lado del contador de iteraciones totales:

Finalmente insertaremos un JTextField no editable para que muestre los conteos totales:

Implementación Funcional Simple

Estructura Clases

Variables SimpleThread

Variables Tabletoida

Hilos

Para implementar los hilos que lanzaremos crearemos una nueva clase a la que llamaremos SimpleThread:

Tras esto podemos ir añadiendo la funcionalidad al botón Lanzar para que pueda lanzar Hilos:

Botón Lanzar

Ahora haremos que cada vez que pulsemos el botón cada hilo que arranquemos se vaya almacenando en una lista de hilos y que tras eso, vuelque esta lista de hilos a la Jtable para Rellenarla. A su vez, se sumará el valor de los campos que almacenen el conteo de iteraciones de cada hilo en una variable cuyo valor se escribirá en el JTextField que mantiene el conteo total. Hasta aquí hemos implementado la funcionalidad de forma que la tabla se actualiza cada vez que pulsemos el botón lanzar, pero no se actualiza automáticamente.

Resultado

Ahora la tabla se verá de la siguiente forma:

Sobre Actualizar la Tabla Automáticamente

Para actualizar la tabla automáticamente deberíamos pasar por referencia la tabla a la clase SimpleThread y utilizar el método: miTableModel.fireTableDataChanged().

Implementación Funcional Compleja

Ahora veremos una implementación alternativa algo más compleja. Utilizaremos la misma GUI que en la anterior implementación, pero cambiarán la funcionalidad y clases.

Clase ModeloTabla

Primero implementaremos esta clase para lo que sería el model de la JTable. Aquí implementaremos métodos para contar las filas y columnas actuales de la tabla, además de un método para ir obteniendo los datos desde las lista de de hilos a partir de la fila y columna en la que estemos para rellenar la tabla.

Clase AccionBoton

dad/jtable.txt · Última modificación: 2023/09/29 10:06 por thejuanvisu