Está en la página 1de 17

Programación Avanzada I

(PAE-0606)

Periodo 2023-P2, Hora 11:00 (Domingo)

Segundo Parcial
Eventos en Java
Eventos en Java
Los eventos son acciones que se generan en aplicaciones
gráficas definidas en los componentes y ocasionado por los
usuarios, como presionar un botón, ingresar un texto, etc.
Los eventos son usados en todos los lenguajes de programación para
proporcionarle al usuario la capacidad de interactuar con el programa y obtener
los resultados que espera, es decir, lograr el objetivo para el que se ha escrito
cada código en particular.
Los eventos → Interacciones del usuario con los componentes
Los componentes → Asociados a distintos tipos de eventos
Un evento será un objeto que representa un mensaje asíncrono que tiene otro objeto como
destinatario
Eventos en Java
En Java, cada evento está representado por un objeto que es una subclase de la
clase EventObject en el paquete java.util. Cada subclase de EventObject
representa un tipo de evento particular; por ejemplo: MouseEvent, KeyEvent y
ActionEven

No obstante, en el modelo de eventos de Java, los EventObject no realizan


acciones por si mismos, sino que esos eventos son enviados a otro objeto
encargado de responder a un tipo de evento en particular. Estos objetos son los
que conocemos como listeners y existen diferentes listeners que "escuchan" a
los diferentes eventos, tales como: mouse listeners, key listeners o action
listeners
Eventos en Java
Tipos de Eventos en Java
Eventos en Java – ActionListener
Sucede cuando se realiza click sobre un componente GUI. Se
puede aplicar a las siguientes clases:
• JButton
• JList
• JMenu Esta interfaz obliga a sobrescribir (sobrecargar) el método
• JMenuItem actionPerformed() cuyo parámetro de entrada es de tipo
• JTextField ActionEvent.
• JTextArea
• JSlider
• Otros…
Eventos en Java – KeyListener
Sucede cuando se pulsa una tecla (teclea) del
componente GUI que tiene el foco. Se puede
aplicar a las siguientes clases:
• JTextField
• JTextArea Consta de los siguientes métodos:
• JCheckBox • keyTyped: Apretar y soltar la tecla
• Otros… • keyPressed: Pulsar la tecla
• keyReleased: Soltar la tecla

Todos estos métodos tienen como parámetro un


objeto de tipo KeyEvent, desde el cual se puede
saber si la tecla pulsada es número, carácter, si es
combinación, etc.
Eventos en Java – FocusListener
Sucede cuando el componente GUI entra en foco (es
selecciona). Cualquier elemento puede tenerlo

Consta de los siguientes métodos:


• focusGained: Cuando el elemento
pasa a estar seleccionado
• focusLost: Cuando el elemento pasa a
estar deseleccionado
Eventos en Java – MouseListener
Sucede cuando se realiza un click del mouse sobre el
componente GUI *****Cualquier elemento puede
tenerlo

Consta de los siguientes métodos:


• mouseCliked: producido cuando se
pincha y suelta sobre el elemento
• mouseEntered: producido cuando el
puntero se sitúa sobre el elemento
• nouseExited: producido cuando el
puntero sale del elemento
• mousePressed: producido cuando se
pincha en elemento
• mouseReleased: producido cuando se
suelta un botón del ratón
Excepciones en Java
Excepciones en Java
Una excepción (Exception) es un evento que se produce
cuando se ejecuta el programa de forma que interrumpe el
flujo normal de instrucciones.
La excepción se produce cuando la ejecución de un bloque de código (método,
función, bloque, etc.) no termina correctamente, sino que termina de manera
excepcional por una situación no controlada o esperada (una situación anormal).
Cuando se produce una situación anormal durante la ejecución
de un programa (por ejemplo se accede a un objeto que no ha
sido inicializado o tratamos de acceder a una posición inválida en
un vector), si no manejamos de manera adecuada el error que se
produce, el programa va a terminar abruptamente su ejecución.
NumberFormatException
NumberFormatException

Excepciones en Java
Java utiliza excepciones para proporcionar la posibilidad de
manejo de errores (excepciones) para sus programas.
El manejo de excepciones es una técnica de programación que permite al
programador controlar los errores ocasionados durante la ejecución de un
programa, cuando ocurre cierto tipo de error, el sistema reacciona ejecutando
un fragmento de código que resuelve la situación.
try { try { try {
//Bloque a probar //Bloque a probar //Bloque a probar
}catch(Exception e) { }catch(Exception e) { }catch(NumberFormatException e) {
//Bloque para manejar //Bloque para manejar //Bloque para manejar
//errores de tipo Exception //errores de tipo Exception //errores de NumberFormatException
} }finally{ }catch(IndexOutOfBoundsException e){
//Bloque que siempre //Bloque para manejar
//se ejecutará //errores IndexOutOfBoundException
} }
Layout Managers
Layout Managers
También conocidos como gestores de composición o administradores
de diseño y se utilizan para organizar los componentes visuales de
una manera particular, facilitando controlar el posicionamiento y el
tamaño de los componentes en formularios GUI

Java ofrece la posibilidad de desarrollar nuestra interface de forma


dinámica mediante el uso de un “Layout Manager”, con el objeto
de ayudar a adaptar los diversos componentes que se desean
incorporar a un panel, es decir, especificar la apariencia que
tendrán a la hora de colocarlos sobre un contenedor, controlando
tamaño y posición (layout) automáticamente.
Layout Managers
El Layout Manager predeterminado de Panel y JPanel es FlowLayout y
el predeterminado de Frame y JFrame es BorderLayout, pero todos se
pueden modificar mediante el método setlayout.
En Java existen varios Layout Manager, estos son los más conocidos:
BorderLayout (java.awt.BorderLayout)

FlowLayout (java.awt.FlowLayout)

GridLayout (java.awt.GridLayout)

CardLayout (java.awt.CardLayout)

GridBagLayout (java.awt.GridBagLayout)

BoxLayout (java.awt.BoxLayout)
Trabajo en Clase – Layaout Managers
De forma grupal investigar y exponer sobre (LayoutManagers)

1) Sala 1: Ventana que utiliza el Layaout Manager: CardLayaout


2) Sala 2: Ventana que utiliza el Layaout Manager: GridBagLayout.
3) Sala 3: Ventana que utiliza el Layaout Manager: BoxLayout.
4) Sala 4: Ventana que utiliza el Layaout Manager: GridLayout.
5) Sala 5: Ventana que utiliza el Layaout Manager: BorderLayout.
6) Sala 6: Otro Layout

También podría gustarte