Upload
daniel-caceres
View
1.622
Download
2
Embed Size (px)
DESCRIPTION
Introducción al concepto de eventos en Java. La octava de una serie de nueve presentaciones para introducir al mundo de JAVA a alumnos de secundaria.
Citation preview
EVENTOS EN SWINGFundamentos de JAVA
¿Qué son los eventos?
• Cada vez que el usuario hace algo:– pulsa una tecla o una combinación
de teclas,– mueve el mouse,– hace click, o doble click;– O simplemente se cambia alguna
propiedad de un control,
• Entonces ocurre un evento.
¿Cómo trabajan los eventos?
2. El componente que recibe laacción manda un “mensaje”a todos sus “escuchadores”.
3. El escuchador ejecutael método apropiado
para esa acción.
1. El usuariohace una
acción
Los eventos tras bambalinas
Internamente los eventos necesitan:
• Un emisor del evento: Un componente que accione el evento (botón, menú, lista, área de texto, etc.). En Java se llaman “Event Source”.
• Un Receptor del evento: Un objeto que reciba el evento, y que tenga el método para ejecutar. En inglés se llama "listener".
El Emisor del Evento
• El “Event Source” o fuente del evento puede ser cualquier componente de SWING o AWT.
• No todos los componentes tienen todos los eventos.
Tipos de eventos• Los tipos más utilizados de eventos son cinco:
– De acción (Action)– Del ratón sin movimiento (Mouse)– Del ratón con movimiento (MouseMotion)– Del teclado (Key)– De enfoque desde el teclado (Focus)
• Para cada uno de estos hay un grupo de eventos asociados. De acción sólo hay uno.
Eventos de Ratón• Hizo click (mouseClicked)• Entró en el componente
(mouseEntered)• Salió del componente
(mouseExited)• Pulsó un botón
(mousePressed)– Éste se ejecuta aunque no
suelte el botón.
• Soltó un botón (mouseReleased)
Eventos de Ratón en Movimiento
• Estos eventos pueden ejecutarse varias veces en un segundo.
• Son dos:– Movimiento (mouseMove)– Arrastre (mouseDrag)
• Arrastrar es mover el mouse con el botón presionado.
Eventos de Teclado
• Tecla (keyTyped)• Tecla presionada
(keyPressed)– Este se ejecuta sin necesidad
de que se suelte la tecla.
• Tecla soltada (keyReleased)
Eventos de Enfoque
• El “enfoque” es lo que el teclado está “viendo”, o sea el componente que ejecutaría su acción si presiono la tecla “Enter”.
• Enfocar, o obtener el enfoque (focusGained)
• Quitar el enfoque (focusLost)
• Para recibir los mensajes del event source, como ya se dijo, se necesita un listener.
• Para cada tipo de acción hay un listener especial (es una interfaz) y un objeto de evento.– ActionListener (ActionEvent)– MouseListener (MouseEvent)– MouseMotionListener (MouseMotionEvent)– Etc.
Receptores del Evento
• Hay dos maneras de “implementar” estas interfaces:
1. Con una “clase interna”. Ver el ejemplo 3.2. Con una implementación en la misma clase. Ve
ejemplo 4.
OJO: Cada listener y cada event hay que importarlo. La mayoría están en java.awt.event.*.
Receptores del Evento