Enjoy A New Student Discount All 55,000 Courses on sale for Only $12.99

Ends in 05h 23m 49s

Solucion:Ejercicio de java swing, listas/tablas

Solución propuesta al ejercicio

La clase GrabarDatos se resolvió anteriormente, por lo que solo revisamos la clase PantallaPeticion

En esta ocasión, hemos hecho que la clase herede de JFrame e implemente ActionListener, por lo que no será necesario crear un JFrame, porque ella lo es:

Definición de campos y constantes

Constructor

La clase configura la pantalla, y el resto lo hace atendiendo a eventos

ConfigurarVentana

Recordad, la clase es JFrame, por lo que utilizamos métodos heredados para poner título (42), conseguir su contenedor (43), configurar botón de salida (44), establecer tamaño y auto centrar la pantalla

En 46 y 47, establecemos el layout como SpringLayout, para permitir un control preciso de posicionamiento

De la 49 a la 60, vamos creando componentes, configurándolos, y a los dos botones, les suscribimos como Listener esta misma clase (hemos implementado ActionListener)

De la 71 a la 76, Añadimos todos los componentes y de la 79 a la 88, damos las coordenadas de cada uno. No siempre utilizo las paredes del contenedor; es muy útil relacionar un componente con otro próximo.

 

Tratamiento de eventos

Cada vez que alguien pulse un botón, se llamara a este método, ya que hemos registrado esta clase como Listener.

Lo primero que necesitamos hacer, es saber que botón se ha pulsado. En la 98 conseguimos el botón pulsado (source del evento) y obtenemos el nombre que asignamos al crearlo.

Si se trata del botón de enviar, se llama al método addToRow, que filtra el dato y si es correcto nos lo añade al JTable, luego, forzamos un refresco de la JTable (102) y borramos el contenido del cuadro de texto (103)

Haya habido error o no, posicionamos el foco encima del cuadro de texto para que se corrija, si ha habido error, o para que se entre otro (estará en blanco) si ha ido bien.

Si se trata del botón de grabar, obtiene los datos de JTable (108) y los envía al método grabar (109), al finalizar, cierra el programa

addToRow

Extrae el texto entrado de la JTextArea (119), y si la longitud es correcta, crea un array de dos elementos, le pone el contador en uno, y el texto recuperado en el otro y lo añade a JTable, a través de su modelo. Si la longitud está mal, presenta un mensaje (127) y vuelve por falso

leerDatos(JTable)

Primero comprueba que le hayan pasado un objeto, y luego consigue el número de filas (142) y columnas (143)

Inicializa un array de salida con las longitudes encontradas (144)

De 145 a 149 es un doble bucle for para recorrer todas las filas y todas las columnas, e irlas guardando en el array

Luego ya solo queda devolverlo.

 

grabar()

Este método recibe el array con todo el contenido del JTable

Crea la instancia de GrabarDatos (159)

Llama al método prepara (160) para que GrabarDatos solicite el fichero, y lo abra. Si vuelve por true, recorre todo el array grabando el contenido de la columna 1 que es donde está el nombre del usuario

El método que crea, es el main

Instancia la pantalla y la hace visible.

Deja un comentario

/*Si te ha gustado el artículo
no dudes en compartirlo*/

Facebook
Twitter
LinkedIn

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies

Ver mi IP

Ver ip de mi máquina
tipo valor
Ip: 18.234.154.197
Proxy: 18.234.154.197
Remote host: ec2-18-234-154-197.compute-1.amazonaws.com
Remote port: 51500
** 18.234.154.197, 172.70.39.103