swing2

12
EVENTOS EN SWING Fundamentos de JAVA

Upload: daniel-caceres

Post on 14-Jun-2015

1.619 views

Category:

Documents


2 download

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.

TRANSCRIPT

Page 1: Swing2

EVENTOS EN SWINGFundamentos de JAVA

Page 2: Swing2

¿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.

Page 3: Swing2

¿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

Page 4: Swing2

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".

Page 5: Swing2

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.

Page 6: Swing2

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.

Page 7: Swing2

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)

Page 8: Swing2

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.

Page 9: Swing2

Eventos de Teclado

• Tecla (keyTyped)• Tecla presionada

(keyPressed)– Este se ejecuta sin necesidad

de que se suelte la tecla.

• Tecla soltada (keyReleased)

Page 10: Swing2

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)

Page 11: Swing2

• 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

Page 12: Swing2

• 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