1. Eventos
Guía Nº 2
GUI
1
GUÍA Nº 2 EVENTOS
IDENTIFICACIÓN DE LA ASIGNATURA
Facultad de Estudios a Distancia - FESAD ESCUELA: Ciencias Tecnológicas
Programa: Tecnólogo en programación de Sistemas Informáticos
Asignatura/Unidad: Programación ll
Nombre de la actividad: Interactuar con el usuario
Objetivo de la temática: Aprender el manejo de eventos de botones de una GUI,
además de observar que librerías de Java se utiliza para esta clase de eventos.
Docente-Tutor: Ing. Josué Nicolás Pinzón Villamil
Eventos
Objetivos Específicos
• Utilizar la interfaz ActionListener para el manejo de eventos y observar su utilidad para el
implementarla a otros elementos.
• Aprender a manipular eventos utilizando un estándar para su creación.
¿Qué es un evento?
Evento se refiere a cualquier acontecimiento, circunstancia, suceso o caso posible. Así, se dice
eventualmente o ante todo evento en previsión de algo que, conjetural o previsiblemente, pudiera
ocurrir en una circunstancia determinada y es generalmente un hecho imprevisto [1].
Conociendo la definición común de evento, hay que aplicarlo a la programación en la cual se puede
decir que a diferentes elementos (botones, listas, comboBox etc.), se les asigna una función
2. Eventos
Guía Nº 2
GUI
2
determinada y que a ciertos eventos o acciones deben generar el resultado de su función asignada,
por ejemplo: capturar información, guardar información, generar cálculos.
Para observar a nivel de código se desarrollara una aplicación simple que ejemplifiqué el manejo de
eventos en Java.
Se desea desarrollar una aplicación donde se pueda evaluar una cadena de texto e indique si
pertenece a una determinada expresión regular, los patrones a utilizar son: tipo numérico,
alfabético, alfanumérico y validación de un correo electrónico.
Con base a lo anterior se obtiene los siguientes diagramas para el GUI
class GUI
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Trial Version EA 8.0 Unregistered Tria
Eventos
+ ACEPTAR: String = "Aceptar" {readOnly}
+ ALFABETICA: String = "Alfabética" {readOnly}
+ ALFANUMERICA: String = "Alfanumérica" {readOnly}
+ CORREO: String = "e-mail" {readOnly}
+ LIMPIAR: String = "Limpiar" {readOnly}
+ NUMERICA: String = "Numérica" {readOnly}
- ventana: VentanaPrincipal
+ actionPerformed(ActionEvent) : void
+ Eventos(VentanaPrincipal)
PanelExpresion
- opciones: JRadioButton ([])
- textExpresionEvaluar: JTextField
+ getTextoEvaluar() : String
+ PanelExpresion(Eventos)
+ setTextoEvaluar(String) : void
VentanaPrincipal
- buttonAceptar: JButton
- buttonLimpiar: JButton
- eventos: Eventos
- expresion: Expresion
- panel: PanelExpresion
- titleExpresion: JLabel
+ activarAccionAlfabetica() : void
+ activarAccionAlfanumerica() : void
+ activarAccionCorreo() : void
+ activarAccionLimpiar() : void
+ activarAccionNumerica() : void
+ actualizarTitulo() : void
+ evaluarExpresion() : void
+ main(String[]) : void
+ VentanaPrincipal()
JPanel
JFrame
«interface»
ActionListener
-ventana
-panel
-eventos
3. Eventos
Guía Nº 2
GUI
3
Visualizaremos el código de cada una de las clases pero hará mayor énfasis en la clase Eventos, la
cual dará el punto clave para el manejo de eventos.
Por tal motivo se visualizara partes del código que nos interesan para el manejo de los eventos, por
lo general estas líneas serán agregadas al constructor de las clases.
Pero primero hay que definir la clase Evento, donde están las constantes publicas de cada una de
las acciones que existen en el programa, además esta clase es implementada con ActionListener que
es la clase encargada de escuchar todos los eventos de la ventana y atraparlos en su método
actionPerformed(actionEvent e) .
4. Eventos
Guía Nº 2
GUI
4
Ahora en la clase VentanaPrincipal, esta cuenta con dos botones el buttonAceptar y buttonCancelar
a los cuales queremos darle eventos.
En las siguientes imágenes se observa las líneas necesarias para asignar las acciones a los botones:
5. Eventos
Guía Nº 2
GUI
5
Dentro del método constructor de la clase, se observa que, al adicionarlos a la clase ActionListener,
se entrega como parámetro la clase Evento, esto indica que es la encargada de escuchar todos los
eventos generados en la ventana.
Ahora los métodos como activarAccionNumerica()o similares van a ser implementados de la
siguiente forma:
6. Eventos
Guía Nº 2
GUI
6
Pasemos ahora a la clase PanelExpresion donde se encuentran los JRadioButton los cuales generan
eventos que queremos manipular. Obsérvese que la clase recibe como parámetro la Clase Evento
este parámetro en todas las clases debe ser la misma instancia.
7. Eventos
Guía Nº 2
GUI
7
Con lo anterior cada una de las clase tiene asignado eventos a los elementos, con ello ya podemos
hacer clip y obtener una respuesta por parte de la GUI
9. Eventos
Guía Nº 2
GUI
9
Bibliografía
[1] Evento. (2020). Recuperado 29 March 2020, en
https://esacademic.com/dic.nsf/eswiki/465978
[2] Garcia, J., Rodriguez, J., Mingo, I., Imaz, A., Brazález, A., Larzabal, A., Calleja,
J. & Garcia, J. (2000). Aprenda Java como si estuviera en primero. San Sebastián:
Escuela Superior de Ingenieros Industriales-Universidad De Navarra: Recuperado
en http://ocw.uc3m.es/cursos-archivados/programacion-java/manuales/java2-U-
Navarra.pdf/view
[3] Java Platform SE 6. (2015). Recuperado 29 March 2020, en
https://docs.oracle.com/javase/6/docs/api/
CONTROL DE CAMBIOS
Fecha Observación Autor
28/04/2020 Se crea guía Nº 2 sobre eventos
Ing. Josué Nicolás
Pinzón Villamil