Академический Документы
Профессиональный Документы
Культура Документы
Modelo de eventos
Introduccin
Creamos grficos... pero no podemos hacer nada con ellos. Evento: operacin que tiene como resultado una accin tras la intervencin del usuario. Los eventos forman parte del paquete java.awt.event. Hay que preparar al programa para responder a los eventos generados desde el exterior.
En el modelo 1.1 los eventos slo se distribuyen entre los objetos que hayan sido registrados para recibirlos (escuchadores). Jerarquas involucradas:
Un objeto Listener puede marcar un evento como consumido, para que los dems lo ignoren si lo desean.
Cada tipo de evento se corresponde con una interfaz listener. Hay una clase adapter para cada interfaz listener, que implementa de forma nula todos sus mtodos. Un objeto escuchador deber implementar todos los mtodos de la interfaz correspondiente.
Ejemplos:
public class EscuchaTeclado implements KeyListener {...} public class EscuchaTeclado extends KeyAdapter {...}
Si el escuchador hereda de otra clase, o se desea que reciba varios tipos de eventos, no se podrn usar adaptadores (no se permite la herencia mltiple)
Pasos a seguir
1.
2.
3.
Crear un objeto de la clase oyente y registrarlo como oyente en uno o ms componentes grficos que proporcionen interaccin con el usuario
Salida ejemplo
Crear una clase oyente interna (ver ejemplo) Crear una clase oyente independiente, construir una instancia y registrar sta en el componente deseado.
Se separa la parte grfica de la parte manejadora. Inconveniente: hay que pasar como parmetros del escuchador los elementos sobre los que vaya a actuar.
ComponentEvent: cambios en tamao, posicin o visibilidad de un componente FocusEvent: cambio de foco KeyEvent: operacin con el teclado MouseEvent: operacin con botones del ratn o movimiento del ratn WindowEvent: cambio de estado de una ventana
ActionEvent: realizacin de la accin especfica asociada al compoente ChangeEvent: cambio en el estado de un componente ItemEvent: elemento seleccionado o deseleccionado
Ejemplo 1
Interfaz ActionListener:
Cuando el usuario hace algo con un componente. Componentes grficos: Button, Button, List, List, MenuItem, MenuItem, TextField. TextField. Mtodo: addActionListener (ActionListener al) Clase de evento: ActionEvent. ActionEvent.
public String getActionCommand () public int getModifiers () public abstract void actionPerformed (ActionEvent e)
Mtodos:
Interfaz ItemListener:
Como ActionListener pero para otros componentes. Componentes grficos: JCheckbox, JCheckboxMenuItem, JList. Mtodo: addItemListener (ItemListener il) Clase de evento: ItemEvent.
public ItemSelectable getItemSelectable () public Object getItem () public int getStateChange (): SELECTED o DESELECTED public abstract void itemStateChanged (ItemEvent e)
Mtodos:
EJEMPLO
Escribir un programa que muestre por pantalla 3 botones, con las etiquetas respetivas: Jorgito, Juanito y Jaimito. Cada botn ser de un color diferente, pero del mismo tamao (50 x 30) Al pulsar a Jorgito, el fondo de la ventana cambiar de color: si est blanco, pasar a verde, y si est verde, pasar a blanco. Al pulsar a Juanito, el color de fondo cambiar a verde, y al pulsar a Jaimito, a blanco.
Applets
Introduccin
Analizaremos las clases de los paquetes java.applet y javax.swing y la manera de integrarlas en documentos Web. Las applets son programas en Java integrados en pginas Web. Para ser un applet, una clase debe ser subclase de Applet (en AWT) y de JApplet (en Swing)
Applet determina el ciclo de vida JApplet proporciona funcionalidad de contenedor de alto nivel (panel de contenidos y barra de men)
La clase Applet
El constructor por defecto de las Applet no suele emplearse: las crea el navegador Web. Mtodos:
Correspondientes al ciclo de vida del applet. applet. Tratamiento de medios, eventos y entorno.
10
Inicializacin
Arranque/rearranque
Parada
public void init (): Se puede considerar como el constructor de la applet. public void start (): Punto de entrada a la ejecucin de la applet. public void stop (): Cuando el usuario abandona la pgina Web. public void destroy (): Se llama al cerrar el navegador.
11
Se invocar numerosas veces. Para hacerlo de forma explcita, se llama a al mtodo repaint() paint recibe como parmetro un objeto de la clase java.awt.Graphics, por lo que habr que importarla.
Las applets no tienen mtodo main. Los nicos componentes grficos que no se pueden emplear en las applets son los que conforman los mens.
12
Tras compilar el cdigo, hay que introducir una llamada a la applet en la pgina Web. Se utilizan los delimitadores:
<APPLET> .................. </APPLET>
Toda pgina HTML que contenga applets debera poseer mensajes alternativos (entre los dos delimitadores) para los navegadores que no admiten java.
CODE = fichero bytecode que contiene la applet compilada OBJECT = AppletSerializable. Se trae la applet desde un fichero con una representacin serializada de la misma WIDTH = anchura de la applet en pantalla en pixels HEIGHT = altura en pixels
13
Para depurar errores es mejor que el navegador, pues genera mensajes ms explcitos.
14
Programar el cdigo (subclase de Applet) Compilar el fichero fuente Creacin de la pgina HTML Visualizacin Veamos un ejemplo que muestra un mensaje en pantalla
Cdigo del applet: //Ejemplo bsico de una applet en Java import java.applet.*; import java.awt.*; import javax.swing.*; public class HolaCursillo extends JApplet { public void paint(Graphics g) { g.drawString(HolaCursillo!!,10,80) ;} }
Jose Jesus Garca Rueda
15
Salida ejemplo
16
Ejemplo de applets
17