Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1.- Introduccin
Applet: aplicacin diseada para ejecutarse en el contexto de ejecucin de un navegador. El Applet se responsabiliza de la gestin de la parte del documento web que el navegador le asigna.
1. Introduccin. 2. Grficos. 3. Componentes de la interfaz de usuario. 4. Contenedores y gestores de ubicacin. 5. Programacin dirigida por eventos.
Se abandona la entrada/salida orientada a consola: interfaz grfica. Desde el punto de vista del programador, los programas diseados con una interfaz grfica presentan cambios importantes respecto a los programas orientados a consola: Se rompe la nocin de secuencialidad: programacin dirigida por eventos. Se necesita un conjunto de primitivas grficas: Graphics. Se requieren bibliotecas que implementen los componentes de la interfaz (botones, mens, reas de texto, ): AWT, Swing.
1 2
1.- Introduccin
Todo Applet se implementa como una extensin de la clase java.applet.Applet si se trabaja con AWT o de javax.swing.JApplet si se trabaja con Swing. La respuesta de un Applet ante los eventos de usuario, por defecto, es no hacer nada. La tarea del programador consiste en extender la clase Applet o JApplet e implementar la respuesta a los distintos eventos que puedan producirse.
MENSAJE init
1.- Introduccin
Ciclo de vida de un Applet
EVENTO DEL NAVEGADOR Carga documento HTML con marca <APPLET> y la clase principal Tras init y cada vez que se vuelva a visitar el applet con el navegador. Cada vez que se abandona un applet Termina el applet (se descarta el documento o se abandona el navegador) Cada vez que se detecta la necesidad de pintar el rea de pantalla del applet COMPORTAMIENTO Cdigo de inicializacin (inicializar campos, aadir componentes de interaccin, etc.) Iniciar animaciones y otras tareas. Suspender animaciones y otras tareas Limpieza de los recursos del sistema
paint
Para que nuestro applet responda a los eventos del navegador, ser necesario sobreescribir el mtodo correspondiente (init, start, stop, destroy, paint).
3 4
1.- Introduccin
Ejemplo HolaMundo.java
import java.awt.Graphics; import javax.swing.JApplet; public class HolaMundo extends JApplet { public void paint (Graphics g) { g.drawString("Hola", 20, 20); } }
2.- Grficos
El mtodo paint recibe un objeto de tipo Graphics que representa el contexto grfico asignado al applet. La clase Graphics dispone de mtodos con primitivas grficas:
Accin Dibujar lnea Dibujar rectngulo Dibujar rectngulo relleno Borrar rectngulo Mtodo drawLine(x1, y1, x2, y2) drawRect(x, y, ancho, alto) fillRect(x, y, ancho, alto) clearRect(x, y, ancho, alto) drawOval(x, y, ancho, alto) fillOval(x, y, ancho, alto) drawArc(x, y, ancho, alto, angIni, angArc) fillArc(x, y, ancho, alto, angIni, angArc) drawPolygon(p)
6
Ejemplo HolaMundo.html
<HTML> <BODY> <APPLET CODE="HolaMundo.class" WIDTH="100" HEIGHT="50"></APPLET> </BODY> </HTML>
5
Dibujar valo Dibujar valo relleno Dibujar arco Dibujar arco relleno Dibujar polgono
Mtodos principales
setText, getText setText, getText getSelectedIndex, getSelectedItem getSelectedIndex, getSelectedValue isSelected, setSelected add, getSelection
import java.awt.*; import javax.swing.*; public class AppletConBotones extends JApplet { public void init () { JButton b1 = new JButton(Aceptar); JButton b2 = new JButton(Cancelar); add(b1); add(b2); } }
8
10
13
14
Componente
JButton JTextField
Eventos
ActionEvent ActionEvent TextEvent
Accin
Botn pulsado El texto ha terminado de ser editado. El texto ha cambiado Item seleccionado/deselec. Item seleccionado/deselec. Item seleccionado/deselec. Item seleccionado/deselec. Desplazamiento del deslizador El componente ha ganado/perdido el foco Pulsacin de tecla Movimiento, arrastre o pulsacin de ratn 18
Evento Fuente
Generador de eventos
Oyente
Manejador de eventos
Los componentes y contenedores de la interfaz de usuario (botones, listas, paneles, ) son generadores de eventos. Si la fuente no tiene un oyente asociado, el evento se pierde. El programador debe preocuparse de crear el manejador correspondiente y registrarlo con la fuente. fuente.addXListener(oyente);
17
Mtodos
actionPerformed textValueChanged itemStateChanged stateChanged. focusGained focusLost keyPressed keyReleased keyTyped mouseClicked mouseEntered mouseExited mousePressed mouseReleased mouseDragged mouseMoved
20
MouseEvent
MouseListener
MouseMotionListener
Ejemplos:
http://users.dsic.upv.es/~rllobet/pa/03_Programas/Tema6
Deber consultarse el API de Java para conocer qu tipo de informacin puede proporcionarme cada tipo de evento.
21
22