INF 473 Desarrollo de Aplicaciones en Java Sección VI Introducción a los Applets Prof. José Miguel Rubio jose.rubio.l@ucv.cl jrubio@inf.ucv.cl PUCV Marzo 2008 1 Applets Los applets son programas pequeños que se ejecutan en un browser (Netscape Navegator, Internet Explorer) y por lo tanto están destinados para ser utilizados en Internet. Los applets son programas gráficos manejados por eventos. 2 Applets Características: No tienen ventana propia, por este motivo se ejecutan en un browser. No necesitan de método main para que comience su ejecución. Todos los applets derivan de la clase java.applet.Applet los cuales deben redefinir ciertos métodos que controlan su ejecución: init(), star(), stop(),destroy(). Los applets también deben redefinir métodos gráficos: paint() y repaint() de java.awt.Component 3 Applets Ejemplo 4 Applets Todo applet debe importar como mínimo 2 paquetes: java.applet.*, ya que todo applet deriva de la clase Applet contenida en ese paquete. java.awt.*, ya que la interacción es a través de AWT (Abstract Windows Toolkit) y no a través de las clases de E/S basadas en consola. 5 Applets Ejecución Un applet se ejecuta en dos medios: Navegador Web, o appletviewer( visor de applet, herramienta que proporciona jdk) Para ello se debe crear un archivo html que contenga la etiqueta <applet></applet> con los siguientes elementos: CODE: nombre del archivo.class WIDTH: ancho inicial del applet (pixeles) HEIGHT: alto inicial del applet (pixeles) 6 Applets Ejemplo Para ejecutar se utiliza la herramienta appletviewer ( por línea de comando) junto al nombre del archivo html. Ejemplo 7 Applets (Arquitectura) Los applets para controlar su ejecución deben redefinir una serie de métodos (todos opcionales): init(): método para inicializar variables y otra actividad de inicio. start(): método que se llama cuando el applet se hace visible. stop(): método que se llama al ocultar el applet, se utiliza principalmente para terminar algunos procesos. destroy(): método para liberar recursos. Estos métodos pertenecen a la clase java.applet.Applet 8 Applets (Arquitectura) Los applets son aplicaciones gráficas, por lo tanto debe redefinir el método de la clase Component paint(). Se declara de la siguiente forma: void paint (Graphics g) El objeto gráfico g pertenece a la clase java.awt.Graphics, este objeto define un contexto gráfico para colores, fonts, etc. Por lo tanto el trabajo gráfico del applet (dibujo de líneas, formas graficas, texto) debe ir en este método. 9 Applets (Arquitectura) La secuencia de ejecución del applet es: init() start() paint() stop() destroy() El método paint es llamado cada vez que el applet se dibuja por primera vez y también de forma automática cada vez que el applet se debe redibujar, para ello se utiliza el método repaint() 10 Applets (Arquitectura) Coordenadas de los gráficos Java 11 Applet Método repaint() El método repaint() hace que el sistema en tiempo de ejecución haga una llamada a paint(), volviendo a repintar el applet. Se utiliza de dos formas: repaint() : repinta todo el applet repaint(int izquierda, int derecha, int ancho, int alto) : especifica una región del applet que será actualizada, en pixeles. Este método debe ser utilizado en otros métodos del applet, definidos por el programador. 12 Applet (Imágenes) Java permite incorporar imágenes de tipo GIF y JPEG a los applets. Para ello se dispone de la clase java.awt.Image donde el método getImage() permite cargar una imagen: getImage(String url, String nombre) Para utilizar una imagen en un applet: 1. Definir una referencia (global) de la clase Image; 2. Dentro del método init() utilizar método getImage para cargar imagen. 3. Dentro de paint(), utilizando el objeto g de la clase Graphics dibujar la imagen con el método drawImage() 13 Clase java.awt.Color Descripción Clase para color, (colores definidos o colores personalizados) Constantes (Colores definidos) Color.white Color.black Color.pink Color.yellow Color.magenta Color.blue Color.gray Color.red Color.orange Color.green Color.cyan 14 Clase java.awt.Color Constructores Color(int r, int g, int b) Color(float r, float g, float b) Métodos int getRed() int getGreen() int getBlue() 15 Applet (Imágenes) Ejemplo 16 Applet (Imágenes) Ejemplo 17 Applet (Imágenes) Ejemplo 18