La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Applets.

Presentaciones similares


Presentación del tema: "Applets."— Transcripción de la presentación:

1 Applets

2 Applets Son aplicaciones que deben ejecutarse bajo un browser que soporte Java.

3 ¿Cómo se carga un Applet?

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

5 ¿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.

6 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 {

7 Métodos de los Applets init start paint stop destroy

8 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()).

9 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).

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

11 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 }

12 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 }

13 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;

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

15 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 }

16 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 }

17 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 }

18 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 }

19 Etiqueta APPLET APPLET [CODEBASE = codebaseURL] CODE = appletFile
WIDTH = pixels HEIGHT = pixels <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25> </APPLET>

20 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

21 Página HTML que llamará al Applet.
<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

22 Compilar el archivo fuente HelloWorld.java: javac HelloWorld.java
Ejecutar el siguiente comando: appletviewer HelloWorld.html Se obtiene el siguiente resultado:

23 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>

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

25 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">

26 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);

27 Algunos colores black (0,0,0) white (255,255,255) blue (0,0,255)
yellow (255,255,0) magenta (255,0,255)

28 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

29 clase FontMetrics

30 clase FontMetrics public int getAscent() public int getDescent()
public int getLeading() public int getHeight() public int stringWidth(String str)

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

32 Sistema de coordenadas
+x 0,0 (x,y) +y

33 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

34 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)

35 Ovalos drawOval (x,y,ancho,alto); Ver DrawOval.java, DrawOval.html

36 Arcos drawArc(x,y,ancho,alto,ángulo inicial,ángulo del arco)
Ver DrawArcs.java, DrawArcs.html

37 Polígonos drawPolygon (xPoints[], //coordenadas x
yPoints[], //coordenadas y points ) //número de puntos. fillPolygon(xPoints[], //coordenadas x Ver DrawPoly.html y DrawPoly.java

38 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

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


Descargar ppt "Applets."

Presentaciones similares


Anuncios Google