POO2_U1_A2_ALMH

9
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. 2. Eventos de tipo Teclado. 3. Otros tipos de evento. De manera general, para poder implementar un evento, se requiere: 1. Un componente al cual asignarle el evento. 2. Definir el tipo de evento 3. Contar con un oyente que identifique el evento 4. Implementar el método y/o métodos que queremos que realice el sistema. 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 .- Nos permite 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., que para redimensionar la figura, tenemos que tener pulsado el botón del ratón. Otra aplicación que se tiene por ejemplo, en

Transcript of POO2_U1_A2_ALMH

Page 1: POO2_U1_A2_ALMH

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.2. Eventos de tipo Teclado.3. Otros tipos de evento.

De manera general, para poder implementar un evento, se requiere:

1. Un componente al cual asignarle el evento.2. Definir el tipo de evento3. Contar con un oyente que identifique el evento4. Implementar el método y/o métodos que queremos que realice el sistema.

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.- Nos permite 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., que para redimensionar la figura, tenemos que tener pulsado el botón del ratón. Otra aplicación que se tiene por ejemplo, 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 por 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, para que el componente sienta que se está sobre de él

Page 2: POO2_U1_A2_ALMH

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

mouseMoved.- 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.. Como 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 las aplicaciones office por ejemplo 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, con lo cual, 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.

Page 3: POO2_U1_A2_ALMH

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

Eventos de tipo Teclado.

Éste tipo de eventos, en Java se encuentra dentro de la interface KeyListener, que se encuentra ubicada dentro del paquete java.awt.event

Estos eventos, nos ayudan para poder interactuar con los usuarios a través de lo que se hace 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 KeyEvent e

Page 4: POO2_U1_A2_ALMH

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 ComponentEvent e

Page 5: POO2_U1_A2_ALMH

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 FocusEvent e

Page 6: POO2_U1_A2_ALMH

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 HierarchyListener3. 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 HierarchyEvent e

5. Implementar el método HierarchyChanged