Está en la página 1de 5

Ingeniería en Desarrollo de software

5 Cuatrimestre
Programa de la asignatura:
Programación orientada a objetos II
Unidad 1. Eventos de Java.


















Existen distintos tipos de eventos, dentro de los cuales, en la presente unidad, se han dividido en 3
principales grupos:
1. Eventos de tipo Ratón.
Eventos de tipo ratón.
Nos permite identificar cada una de las acciones que podemos realizar con el ratón, al aplicarle un
oyente denominado MouseListener. Éste oyente, nos permite acceder a métodos para realizar
operaciones como son:
MouseClicked.- Al Hacer clic con alguno de los botones del ratón, sobre algún componente (Botón,
ícono, Lista desplegable, etc.), éste realizará alguna operación. Es importante considerar, que el clic
se considera al oprimir y soltar el botón del mouse. También se considera doble clic, cuando el
componente detecta que se ha pulsado dos veces sobre de él con el botón del ratón.
MouseDragged.- Una vez pulsado el botón del ratón, arrastrar el componente seleccionado. Éste tipo
de eventos, es muy usado en aplicaciones de dibujo por ejemplo, en donde tenemos que hacer
líneas, curvas, etc., para redimensionar la figura, tenemos que tener pulsado el botón del ratón. Otra
aplicación que se tiene es en Windows, cuando queremos trasladar un archivo a una carpeta, lo
podemos hacer con éste tipo de eventos.
Éste tipo de eventos, por lo regular va inmediatamente después de un evento de tipo
mousePressed.
MouseEntered.- El componente se entera que el mouse está sobre de él, y realiza alguna acción,
como ejemplo, cambiar de color, cambiar su apariencia en cuanto a su contorno, etc. Con lo que le
indica al usuario, que ése componente es sensible a llevar a cabo un tipo determinado de operación.
Aquí, no es necesario hacer clic con alguno de los botones del ratón, basta que el componente
sienta que está sobre de él.
MouseExited.- El componente se entera de que el mouse ha dejado de estar sobre de él. Como en el
caso anterior, no es necesario que alguno de los botones del ratón, haya sido pulsado para que el
componente realice alguna acción. Por lo general, éste tipo de evento, acompaña al mouseEntered,
para poder hacer una combinación de ambos. Por ejemplo, al posicionarse sobre alguno de los
componentes de estilos de letras en Word, sin tener que pulsar ningún botón, éstos cambian su
aspecto, al enmarcarse; ahí estamos usando el mouseEntered, y cuando nos salimos de ahí,
usamos el MouseExited, con lo cual, el componente se entera de que ya no estamos ahí.
Mouse Moved .- El componente se entera sin pulsar algún botón del ratón, que hemos movido el
ratón y el cursor se encuentra dentro del componente.. Por ejemplo, podemos poner el puntero del
ratón, el cual, identifica plenamente cuando estamos haciendo algún movimiento, aún sin que
hayamos oprimido el botón.
MousePressed.- El componente identifica que hemos pulsado con un botón del ratón y el puntero
está sobre el componente, es decir, se mantiene oprimido el botón, y se está realizando alguna
operación. Ejemplo de éste tipo de eventos, es en las barras de tipo scroll, en el que si mantenemos
oprimido el botón, la barra sola se está desplazando por todo el contexto al cuál haga referencia. Así
mismo, en los componentes de tipo Cuadro de diálogo, que al mantener oprimido el ratón, nos
despliega toda una lista de posibilidades que tenga almacenado el cuadro.
MouseReleased.- A diferencia del anterior, en éste tipo de eventos, el componente identifica que
hemos dejado de oprimir el botón del ratón. Este tipo de evento, por lo general, va acompañado del
mousePressed, para poderle indicar al componente, cuando debe realizar una acción, y cuándo deja
de hacerla.
MouseWheelmoved.- El componente identifica que estamos usando la rueda del ratón sobre de él.
En Word, se utiliza mucho en la ventana, toda vez, que podemos desplazarnos por un documento,
con sólo girar la rueda del ratón.
En términos generales, la forma en que podemos usar éste tipo de eventos es la siguiente:
1. Importar la paquetería java.awt.event.*
Para poder implementar todos los tipos de eventos, incluimos el MouseListener y el
MouseAdapter y el MouseMotionListener.
2. Crear un objeto del alguno de los complementos.
Botones, Listas desplegables, etc.
3. Agregar el MouseListener al componente, mediante el método addMouseListener.
4. Al oyente, pasarle como parámetro, un objeto del tipo MouseAdapter (Adaptador).
5. En el adaptador, implementar el método del tipo de evento que queramos, pasándole como
parámetro un evento del tipo MouseEvent.

2.- Eventos de tipo Teclado.
Éste tipo de eventos, en Java se encuentra dentro de la interface KeyListener, ubicada dentro del
paquete java.awt.event. Estos eventos, nos ayudan para poder interactuar con los usuarios por
medio de las teclas del teclado. Se cuenta con 3 principales eventos dentro de dicha interface:
KeyTyped.- Con éste evento, el sistema nos identifica que letra se ha pulsado sobre algún
componente. Éste tipo de eventos, suele utilizarse por ejemplo en las macros de office, para indicarle
al sistema, con que letras va a poder arrancar.
KeyPressed.- Con éste evento, el sistema nos identifica que una letra del teclado está siendo
presionada.
KeyReleased.- Con éste evento, el sistema identifica plenamente, que una vez que teníamos
pulsada una tecla sobre el componente, hemos liberado esta tecla, con lo cual, el componente deja
de realizar la operación que estaba haciendo.
En términos generales, para poder implementar éste tipo de eventos, es necesario:
1. Importar la paquetería java.awt.event.* Para poder implementar todos los tipos de eventos, con lo
cual, incluimos el KeyListener y el KeyAdapter.
2. Crear el objeto componente al cual le vamos a poner el evento.
3. Añadir el oyente KeyListener, mediante el método addKeyListener.
4. Pasarle parámetros al oyente un objeto del tipo KeyAdapter (Adaptador).
5. En el adaptador, implementar el método del tipo de evento que queremos detectar, pasándole
como parámetro, un evento del tipo KeyEvente.


3.- OTROS TIPOS DE EVENTO.
Cada componente, puede detectar distintos tipos de evento. Lo anterior debido, a que los
componentes descienden directamente de la clase java.awt.
Otros eventos adicionales que se pueden detectar, son los siguientes:
1.-ComponentListener.- Los oyentes de tipo component, nos permiten detectar cualquier cambio en
tamaño, ubicación o visibilidad del componente al cual se lo añadimos.
Por lo tanto, los eventos de éste tipo de oyente son:
ComponentHidden.- Que nos permite detectar cuando el componente ha sido ocultado.
ComponentMoved.-Que nos permite detectar los cambios de posición del componente.
ComponentResized.- Que nos permite detectar los cambios de tamaño del componente.
ComponentShown.-Que nos permite detectar cuando el componente ha sido hecho visible
Para poder implementar un oyente de este tipo de eventos, tenemos que:
1. Importar el paquete java.awt.event*; Con esto podemos importar todos los eventos existentes en
java, o bien, java.awt.event.componentListener para importar sólo éste tipo de evento, sin embargo,
al hacerlo de ésta manera, tendríamos que importar también, la librería
java.awt.event.componentAdapter
2. Crear un objeto del tipo de componente al que queremos establecer el evento, pudiendo ser por
ejemplo, una ventana, un cuadro de texto, etc.
3. Agregar al componente, el escucha ComponentListener, mediante el método
addComponentListener, al cual, le pasamos como parámetro, un nuevo objeto del tipo
ComponentAdapter (adaptador)
4. Implementar en el adaptador, el método del tipo de evento que queramos establecer, pasándole
como parámetro un evento del tipo ComponentEvente.
2.- FocusListener.- Este tipo de oyente, nos permite detectar cuando un componente, ha perdido el
foco del teclado, es decir, en donde se encuentra el puntero del mouse. Éste tipo de oyente, es muy
utilizado por ejemplo en los componentes de tipo botón y/o cuadro de texto. Por lo anterior, los tipos
de eventos con los que contamos con éste tipo de oyente, son:
FocusGained.- Éste tipo de evento, nos ayuda a detectar cuando el componente obtiene el foco del
teclado.
FocusLost.- Éste tipo de evento, nos ayuda a detectar cuando el componente pierde el foco del
teclado.
Para poder implementar un oyente de este tipo de eventos, tenemos que:
1. Importar el paquete java.awt.event*; Con esto podemos importar todos los eventos existentes en
java, o bien, java.awt.event. FocusListener para importar sólo éste tipo de evento, sin embargo, al
hacerlo de ésta manera, tendríamos que importar también, la librería java.awt.event.FocusAdapter
2. Crear un objeto del tipo de componente al que queremos establecer el evento, pudiendo ser por
ejemplo, un botón, un cuadro de texto, etc.
3. Agregar al componente, el escucha FocusListener, mediante el método addFocusListener, al cual,
le pasamos como parámetro, un nuevo objeto del tipo FocusAdapter (adaptador)
4. Implementar en el adaptador, el método del tipo de evento que queramos establecer, pasándole
como parámetro un evento del tipo FocusEvente.

3. HierarchyListener.- Nos permite detectar los cambios que se van realizando en cada uno de los
componentes a los cuales le hemos añadido dicho oyente. Ésta interfaz cuenta sólo con un tipo de
evento, el cual es:
HierarchyChanged.
Para poder implementar éste tipo de evento, debemos:
1. Importar el paquete java.awt.event*; Con esto podemos importar todos los eventos existentes en
java, o bien, java.awt.event. HierarchyListener
2. Implementar la interfaz HierarchyListener
3. Crear un objeto del tipo de componente al que queremos establecer el evento.
4. Agregar al componente, el escucha HierarchyListener, mediante el método addHierarchyListener,
al cual, le pasamos como parámetro, un nuevo objeto del tipo HierarchyEvente.
5. Implementar el método HierarchyChanged

Bibliografía
Programación Orientada a Objetos II. En Programación Orientada a Objetos II (págs. 4-13). México,
D.F.: Secretaría de Educación Pública. Oracle. (s.f.). Oracle.com.
http://docs.oracle.com/javase/tutorial/uiswing/events/eventsandcomponents.html Oracle.com. (s.f.).
http://docs.oracle.com/javase/7/docs/api/