programación en java: applets

39
Applets

Upload: ronny-parra

Post on 15-May-2015

36.246 views

Category:

Education


2 download

DESCRIPTION

Descripción de como trabajar con el paqueta java.applete, propio de dicho lenguaje de programacion

TRANSCRIPT

Page 1: Programación en Java: Applets

Applets

Page 2: Programación en Java: Applets

Applets

• Son aplicaciones que deben ejecutarse bajo un browser que soporte Java.

Page 3: Programación en Java: Applets

¿Cómo se carga un Applet?

Page 4: Programación en Java: Applets

Capacidades de los Applets

• Pueden hacer conexiones de red hacia el host del que vinieron.

• Los applets pueden invocar métodos públicos de otros applets que se encuentren en la misma página web.

• Permiten agregar animaciones y sonido a una página web.

Page 5: Programación en Java: Applets

¿Que no puede hacer un Applet que es cargado a través de la red?

• No puede leer o escribir ficheros en el host en el que se está ejecutando.

• No puede hacer conexiones de red, excepto con el host desde el que vino.

• No puede arrancar ningún programa en el host donde se está ejecutando.

• Los applets que se cargan desde el sistema local de ficheros no tienen ninguna de las restricciones que tienen los applets cargados a través de la red.

Page 6: Programación en Java: Applets

Declaración

• Todos los applets son subclases de la clase Applet, la cual se encuentra en el paquete:– java.applet

• public class suApplet extends java.applet.Applet {

//código del Applet. }• import java.applet.*; public class suApplet extends Applet { //código del Applet. }

Page 7: Programación en Java: Applets

Métodos de los Applets

• init

• start

• paint

• stop

• destroy

Page 8: Programación en Java: Applets

Ciclo de vida de un Applet

• El navegador interpreta la página HTML donde se encuentra insertado el applet. Cuando encuentra la etiqueta <APPLET> el navegador descarga del mismo servidor donde se encontraba la página HTML el bytecode de la clase indicada en la etiqueta <APPLET>.

• Se crea una instancia de la clase que controla el applet. • El applet se inicializa (ejecución del método init()).• El applet comienza a ejecutarse (ejecución del método

start()).• El applet se visualiza en pantalla (ejecución del método

paint()).

Page 9: Programación en Java: Applets

Ciclo de vida de un Applet

• Cuando se abandona la página, por ejemplo, para visitar un enlace, el applet detiene la ejecución, se ejecuta el método stop. Cuando se regresa a la página que contiene el applet, se ejecuta el método start del applet y se reanuda su ejecución.

• Finalmente, cuando se cierra la ventana del navegador, se termina la ejecución del applet, y se liberan todos los recursos ocupados por el applet antes de salir del navegador.

• Durante todo el tiempo de vida del applet, éste continuará recibiendo llamadas de métodos por parte del navegador que le irán informando de los distintos eventos que se vayan produciendo (por ejemplo, maximizar y minimizar el navegador, refresco de la pantalla, abandono de la página HTML, etc).

Page 10: Programación en Java: Applets

Método init

• Este método es llamado una sola vez, cuando el applet es cargado en el browser.

• En este método realiza la inicialización de un applet.

• También dentro de este método:– Se inicializan las variables del applet.– Se crean los objetos que el applet necesita.– Se cargan imágenes, sonidos o fonts.

Page 11: Programación en Java: Applets

Método init

• El método init es heredado de la superclase Applet y se redefine (method overriding) si es necesario.

• Este método se debe utilizar para realizar las acciones iniciales del applet: inicializar variables, distribuir los compontentes gráficos del applet, etc.

• En general, el método init() debería contener el código que se pondría normalmente en un constructor.

• La sintaxis del método init es:– public void init( )

{ //código }

Page 12: Programación en Java: Applets

Método start

• El método start es llamado:– Luego de que se termina de ejecutar el método init.– Cuando un usuario vuelve a visitar la página HTML

donde está el applet, tras haberla abandonado momentáneamente.

– Cuando se minimiza la ventana del navegador y se ejecuta otra tarea, y se vuelve a ejecutar el applet maximizando la ventana del navegador.

• Este método puede ser invocado algunas veces durante su ciclo de vida de un applet.

• La sintáxis del método start es:– public void start ( ) { //código }

Page 13: Programación en Java: Applets

Método paint

• Se refiere a como un applet muestra algunas cosas sobre la pantalla, tal como texto, líneas, color de fondo o una imagen.

• El método paint puede ser invocado varias veces durante el ciclo de vida de un applet. Por ejemplo, cuando la ventana de la página web ha sido tapada por otra ventana, o porque se ha restaurado su tamaño.

• La sintaxis del método paint es la siguiente:– public void paint (Graphics g) {

//código }• Usted debería incluir la sentencia:

– import java.awt.Graphics;

Page 14: Programación en Java: Applets

Método paint

• También es llamado, cada vez que un applet necesita ser pintado nuevamente.

• Las acciones que se realizan en este método tienen que ver con el dibujo del objeto gráfico g que es automáticamente pasado como parámetro.

• Este método es heredado de la clase java.awt.Container.

Page 15: Programación en Java: Applets

Método stop

• Detiene la ejecución de un applet.• Es llamado, cuando una página web contiene

este applet ha sido reemplazada por otra página y también justo antes del método destroy.

• La sintáxis de este método es la siguiente.– public void stop ( ) { //código }

Page 16: Programación en Java: Applets

Método destroy • Este método es llamado cuando el Applet está

siendo removido de memoria.• Este método realiza las tareas que son necesarias

para liberar todos los recursos que esté usando el applet.

• La mayoría de los applets no necesitan sobrescribir el método destroy(), porque su método stop() (al que se llama antes) hace todo lo necesario para detener la ejecución del applet. Sin embargo, el método destroy() esta disponible para los applets que necesitan liberar recursos adicionales asignados.

• La sintaxis de este método es la siguiente:– public void destroy ( ) { //código }

Page 17: Programación en Java: Applets

Otros métodos: update

• Esta es la función que realmente se llama cuando se necesita una actualización de la pantalla (en lugar de llamar directamente a la función paint()).

• La clase Applet simplemente limpia el área y llama al método paint().

• Las clases derivadas pueden sustituir esta funcionalidad para sus propósitos.

• La sintáxis de este método es la siguiente:public void update (Graphics g) { //código}

Page 18: Programación en Java: Applets

Otros métodos: repaint

• A esta función se la debería llamar cuando el applet necesite ser repintado.

• Llamando a este método se podrá forzar la actualización del applet.

• Este es el método que habitualmente invocan los programadores de applets para refrescar el contenido del applet en pantalla.

• Al llamar al método repaint(), internamente se llama a update() que borrará el rectángulo sobre el que se redibujará y luego a su vez llamará a paint().

• La sintáxis de este método es la siguiente:public void repaint ( ) { //código}

Page 19: Programación en Java: Applets

Etiqueta APPLET

• APPLET [CODEBASE = codebaseURL]

CODE = appletFile WIDTH = pixels HEIGHT = pixels

• <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25> </APPLET>

Page 20: Programación en Java: Applets

Creando su primer Applet

import java.applet.*; import java.awt.*; public class HelloWorld extends Applet

{ public void paint(Graphics g) { g.drawString("Hello world!", 50, 25); } } • Guardar este código en un archivo con

nombre HelloWorld.java

Page 21: Programación en Java: Applets

Página HTML que llamará al Applet.

<HTML> <HEAD> <TITLE>Un Programa Simple</TITLE> </HEAD> <BODY> Este es el output de mi programa:

<APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25> </APPLET> </BODY>

</HTML> • Guardar este código en un archivo con

nombre HelloWorld.html

Page 22: Programación en Java: Applets

• Compilar el archivo fuente HelloWorld.java: javac HelloWorld.java

• Ejecutar el siguiente comando: appletviewer HelloWorld.html

• Se obtiene el siguiente resultado:

Page 23: Programación en Java: Applets

Pasándo parámetros a Applets

<APPLET CODE=“QueenMab.class” WIDTH=100 HEIGHT=100>

<PARAM NAME=nombreparametro VALUE=“valordelparametro”>

<PARAM NAME=size VALUE=“24”>

</APPLET>

Page 24: Programación en Java: Applets

Pasando parámetros a Applets

• Los parámetros son pasados a su applet cuando este es cargado.

• Dentro del método init () recupere estos parámetros usando getParameter(). Ejmp:– String theFontName = getParameter (“font”);

• Si el parámetro que usted espera no ha sido especificado en el archivo HTML, getParameter retorna nulo.

• Ver: EjemploParametro.java y EjemploParametroPage.html.

Page 25: Programación en Java: Applets

Como invocar un Applet empaquetado en un archivo JAR

<applet code=NombreClaseAppletPrincipal.class archive =“NombredelJar.jar” width=ancho height=alto>

</applet>Ejemplo:<applet code=“Animator.class”

archive="classes.jar" width=460 height=160> <param name=foo value="bar">

</applet>

Page 26: Programación en Java: Applets

La Clase Color

• Sistema RGB (Red Green Blue)

• Cada componente es representado con un entero de 0 a 255.

• Para setear los colores:– g.setColor(Color.pink);– Color brush = new Color (255,204,102);

g.setColor (brush);

Page 27: Programación en Java: Applets

Algunos colores

• black (0,0,0)

• white (255,255,255)

• blue (0,0,255)

• yellow (255,255,0)

• magenta (255,0,255)

Page 28: Programación en Java: Applets

La clase Font

Font f = new Font(“Dialog”, Font.BOLD + Font.ITALIC,24);

public void paint (Graphics screen) { Font f= new Font(“TimesRoman”, Font.PLAIN,72); screen.setFont(f); screen.drawString(“HOLA”,10,100); }

Ver DemoFont.java y DemoFont.html

Page 29: Programación en Java: Applets

clase FontMetrics

Page 30: Programación en Java: Applets

clase FontMetrics

• public int getAscent()• public int getDescent()• public int getLeading()• public int getHeight()• public int stringWidth(String str)

Page 31: Programación en Java: Applets

La clase Graphics

• Es parte del paquete java.awt• Le permite dibujar texto, líneas, óvalos,

círculos, rectángulos y otros polígonos.• Todos los métodos que permiten dibujar

serán llamados desde el método paint( ).• La forma como los distintos sistemas

operativos generan los gráficos es diferente, la clase Graphics, provee la interfase para permitirnos hacer programas que generen gráficos independientes de la plataforma.

Page 32: Programación en Java: Applets

Sistema de coordenadas

0,0 +x

+y

(x,y)

Page 33: Programación en Java: Applets

Líneas

drawLine(x1,//coordenada x del primer punto.

y1, //coordenada y del primer punto.

x2, //coordena x del segundo punto.

y2); //coordenada y del segundo punto.

Ver: Line.html y Line.java

Page 34: Programación en Java: Applets

Rectángulos

drawRect(x, //coordenada x de la esquina superior izquierda

y, //coordenada y de la esquina superior izquierda

ancho,

alto);

fillRect(x,y,ancho,alto);

drawRoundRect (x, y, ancho, alto,anchoarco,altoarco);

fillRoundRect(x, y, ancho, alto,anchoarco,altoarco);

(x,y)

Page 35: Programación en Java: Applets

Ovalos

• drawOval (x,y,ancho,alto);

• Ver DrawOval.java, DrawOval.html

(x,y)

Page 36: Programación en Java: Applets

Arcos

• drawArc(x,y,ancho,alto,ángulo inicial,ángulo del arco)

• Ver DrawArcs.java, DrawArcs.html

Page 37: Programación en Java: Applets

Polígonos

drawPolygon (xPoints[], //coordenadas x

yPoints[], //coordenadas y

points ) //número de puntos.

fillPolygon(xPoints[], //coordenadas x

yPoints[], //coordenadas y

points ) //número de puntos.

Ver DrawPoly.html y DrawPoly.java

Page 38: Programación en Java: Applets

Dibujando Strings y Characters

• public abstract void drawString ( String string, //El string a ser dibujado int x, //La coordenada x int y); //La coordenada y• public void drawChars ( char chars [], //arreglo de caracteres a dibujar int offset, //indice desde donde se va a dibujar int number, // número de elementos a dibujar int x, //La coordenada x int y ); //La coordenada y

Ver: DrawSC.java

Page 39: Programación en Java: Applets

Ejercicio en clase

• Hacer un applet, que muestre 10 rectángulos (Ver figura de ejemplo), el primer rectángulo tendrá un color azul oscuro y el último rectángulo, tendrá un color azul más claro.