Está en la página 1de 18

La clase Applet 9 - 1

CAPITULO

La clase Applet
Objetivos:
Caracterizar los programas tipo applet
Explicar cada uno de los mtodos que forman parte del ciclo de
vida de un applet.
Creacin de una GUI basada en JApplet
Utilizar el componente Canvas dentro de una GUI

Introduccin
En el captulo 3 se present una breve introduccin al tipo de programas Java
denominado applets, instancias de la clase Applet (JApplet en Swing). Se
presentaron algunos ejemplos a fin de ilustrar su estructura general y sus
diferencias con el tipo de programas Java denominado aplicaciones. En este
captulo se presentar formalmente la clase Applet (JApplet), la estructura y
ciclo de vida de los applets, as como algunos ejemplos que permitan al
estudioso orientar el desarrollo de soluciones a problemas especficos,
utilizando applets.
Debe recordarse que los applets slo pueden ser ejecutados a travs de un
visualizador (appletviewer ) de un navegador. Es por tanto necesario disponer
del respectivo archivo HTML, con el llamado al applet.
La clase Applet, que est contenida en el paquete java.applet, indicando sus

La clase Applet : Introduccin 6 - 2


diferentes mtodos los cuales pueden ser utilizados dentro del cuerpo de un
applet. La clase Applet determina el manejo y programacion de este tipo de
programas, suministrando las interfaces estandares entre applets y su medio
ambiente.. Adems el paquete java.applet define tres interfaces: AppletContext,
AppletStub y AudioClip.
Como ya se vi antes, la ejecucin de este tipo de programas se lleva a cabo
dentro de un programa HTML, el cual se puede ejecutar a traves de un
navegador (browser). Esto es un indicador de las aplicaciones de los applets.
El cdigo HTML del programa requerido para ejecutar un applet es bastante
simple, con lo cual el programar applets y su visualizacin en un navegador o
visualizador de applets del Java (appletviewer) no tiene dificultades.

Que es una applet


Un applet se entiende como un programa Java que no puede ser ejecutado por si
mismo, sino que para su ejecucin debe estar inmerso o embebido dentro de
otro. Corre de manera segura dentro de un navegador, a partir del archivo con
extensin .class generado por la compilacin del applet. Un applet
cualquiera es una subclase de la clase java.applet.Applet, o sea que su
estructura y comportamiento son heredados de la clase Applet.
Todos los applets son subclases de Applet, asi que se debe importar el paquete
java.applet. La siguiente figura ilustra la jerarquia de herencias de la clase
Applet, lo cual da una idea de lo que puede hacer, o el comportamiento de un
applet. La clase Applet extiende a la clase Panel de AWT, a su vez extiende a la
clase Container, que extiende a la clase Component. Todas estas clases
suministran las bases para el desarrollo de interfaces grficas basadas en
ventanas.

java.lang.Object

java.awt.Component

java.awt.Container

java.awt.Panel

java.applet.Applet

Herencias de la clase Applet

La clase Applet : Que es una applet 6 - 3

La clase Applet da el soporte necesario para las actividades de manejo de


ventanas. Como la mayor parte del trabajo de los applets se realiza en modo
grfico en lo que se denomina interfaz grfica, se debe importar tambin el
paquete java.awt, o sea el conjunto de herramientas para disear interfaces
grficas de usuario. A ttulo de contrastar de manera general, la forma de
visualizar los resultados en los applets y las aplicaciones, en los primeros se
dibuja (por ejemplo con el mtodo Graphics.drawString(), y en los
segundos se escribe (por ejemplo con el mtodo System.out.println()).
Aunque se puede dibujar en ambas utilizando el componente lienzo o Canvas
del paquete java.awt.

La clase Applet
La siguiente tabla muestra mtodos definidos por la clase Applet en Java2, y
proporcionan todo lo necesario para ejecutar un applet desde su inicio hasta su
finalizacin, as como los mtodos para cargar y exhibir imgenes y reproducir
sonidos. La documentacin de cada uno de estos mtodos se encuentra en el
directorio C:/jdk1.4.0/docs/ del JDK.

Algunos de los mtodos anteriores sern tratados a lo largo de la unidad en los


ejemplos resueltos.

Metodos de la clase Applet


void destroy( )

Este mtodo es llamado por el navegador


justamente antes de que el applet termine
su ejecucin.

AppletContext getAppletContext( )

Devuelve el contexto asociado con el


applet, lo que le permite consultar y afectar
el medio ambiente en el cual se ejecuta.

String getAppletInfo( )

Devuelve una cadena que describe el


applet.

La clase Applet : La clase Applet 6 - 4


AudioClip getAudioClip(URL url)

Devuelve un objeto AudioClip especificado


en la direccion url.

AudioClip getAudioClip(URL url,


String name)

Devuelve un objeto AudioClip especificado


en la direccion url, con el nombre name.

URL getCodeBase( )

Devuelve el URL del applet que lo llama.

URL getDocumentBase( )

Devuelve el URL del documento HTML


que invoca al applet.

Image getImage(URL url)

Devuelve un objeto Image en la direccion


indicada por url.

Image getImage(URL url, String


name)

Devuelve un objeto Image en la direccion


indicada por url, con el nombre name.

Locale getLocale( )

Suministra Locale del applet si se ha


asignado.

String getParameter(String name)

Devuelve los parametros de la applet


asociados con name desde una pgina
HTML.

String[ ][ ] getParameterInfo( )

Devuelve una tabla String que describe los


parametros reconocidos por la applet.Cada
entrada de la tabla se forma de tres cadenas:
nombre del parametro, tipo y explicacin.

void init( )

Llamado por el navegador o el


appletviewer, cuando el applet es cargada
en el sistema y comienza su ejecucin.

boolean isActive( )

Devuelve true si la applet esta activa y


false si esta parada.

static AudioClip newAudioClip(URL Toma un archivo de sonido en la direccion


url.
url)
void play(URL url)

Reproduce el archivo de sonido


especificado en la direccion absoluta url.

void play(URL url, String name)

Reproduce el archivo de sonido con el


nombre name especificado en la direccion
url.

void resize(Dimension dim)

Redimensiona el tamao del applet de


acuerdo a dim. Dimension es una clase que
contiene dos campos enteros: width y
height.

La clase Applet : La clase Applet 6 - 5


void resize(int ancho, int alto)

Redimensiona el tamao del applet de


acuerdo a las dimensiones ancho y alto.

void setStub(AppletStub stub)

Un stub es una pequea parte de cdigo que


proporciona el enlace entre el applet y el
navegador. El mtodo hace que el objeto
stub sea el resguardo del applet. Es usado
por el interprete de Java y normalmente no
lo utiliza el applet.

void showStatus(String msg)

Para hacer que el argumento msg de tipo


String sea visualizado en en la ventana
de estado del applet.

void start( )

Llamado por el navegador o appletviewer


para informar que el applet debe iniciar su
ejecucin.

void stop( )

Llamado por el navegador o appletviewer


para informar que el applet debe suspender
su ejecucin.

Estructura de un Applet
Un applet es ante todo una clase, que extiende o hereda de la clase Applet ( o de
JApplet bajo Swing). Su caracterstica principal es que se debe ejecutar a travs
de un navegador. Para ilustrar la estructura y comportamiento de un applet, se
tomar como ejemplo la clase SimpleApplet que es un applet, ya que
extiende o hereda de la clase Applet. Contiene mtodos del ciclo de vida del
applet y para generar informacin grfica.

SimpleApplet extends Applet


private String salida;
public void init();
public void start();
public void stop();
public void destroy();
void agregaItem(String palabra);
public void paint(Graphics g);

El nombre del applet es SimpleApplet que extiende la clase Applet. Tiene un

La clase Applet : Estructura de un Applet 6 - 6


atributo salida de tipo String y se compone de seis mtodos: los cuatro
primeros heredados de la clase Applet (ver el cuadro anterior), el mtodo
agregaItem(String palabra) con el cual se agrega una palabra a salida y
el mtodo paint(Graphics g), con el cual el applet dibuja en la ventana
el contenido de salida.
Los applets heredan los mtodos de dibujo y manejo de eventos de la clase
AWT (Abstract Window Toolkit). El concepto de dibujo, en este contexto, se
refiere a la representacin de un applet en la pantalla. El manejo de eventos se
refiere a la deteccin y procesamiento de las entradas generadas por el usuario,
como pulsacin de teclas, movimientos del ratn, cierre de ventanas o salvar
archivos, por mencionar algunos.
Ls Applets tienen lo que se denomina, un ciclo de vida, desde su inicio,
arranque y ejecucin, hasta su cierre y destruccin. A lo largo de ese ciclo de
vida es, el programa applet es activado por eventos, los cuales llamarn, segn
sea el caso, a uno u otro mtodo para su ejecucin.
Los eventos que se generan en las interacciones del usuario, son los que
determinan la accin a ser tomada por el applet. Su estructura se conforma por
un conjunto de mtodos para el tratamiento de esas interrupciones. El usuario
es el que inicia la interaccin con el applet, interactuando con este, como y
cuando quiera. Estas interacciones son notificadas como eventos por el AWT,
llamando al gestor de eventos que el applet ha sobrescrito, para que este tome la
accin apropiada y retorne el control al AWT. Pulsar un boton del ratn dentro
de la ventana de un applet, genera un evento de botn pulsado. Pulsar una tecla
mientras la ventana del applet est activa, genera un evento de tecla pulsada.
Pasar el cursor sobre una parte de la ventana, genera un evento. Salir o entrarde
la ventana del applet, cerrarla, minimizarla, producen eventos que afectan el
comportamiento del applet.
Los applets estn diseadas para contener componentes, o sea objetos de una
interface de usuario UI (User Interface por sus siglas en ingles), como botones,
etiquetas, listas y menus desplegables, barras de desplazamiento, reras de
texto.

El ciclo de vida de un Applet


El concepto de ciclo de vida de un applet, hace referencia al conjunto de
operaciones que se deben realizar desde que se la llama a ejecucin, hasta que
se la cierra. Es un conjunto de mtodos que el sistema llama a ejecucin cuando
sucede algn evento.
La clase Applet provee el marco para la ejecucin de applets, definiendo los

La clase Applet : El ciclo de vida de un Applet

6-7

mtodos que el sistema llama cuando ocurren los eventos mas importantes del
ciclo de vida. La mayora de las applets sobreponen algunos o todos los
mtodos a fin de responder adecuadamente a los eventos que se presenten.
La ejecucin de un applet requiere, en primer lugar, que se haya editado su
cuerpo, estructura y comportamiento, y generado el respectivo archivo .class a
partir de su compilacin. Se debe escribir un archivo con extension .html, el
cual tiene dentro de su cuerpo una etiqueta <applet> dentro de la cual se
llama al archivo .class del applet. Este programa es llamado por un navegador o
el visualizador appletviewer que viene con el JDK.
Veamos ahora los diferentes eventos que se presentan durante el ciclo de vida
de un applet. Para tal efecto se tomar la clase SimpleApplet indicado antes,
e implementando algunos de sus mtodos.
El ciclo de vida se inicia con el llamado a un navegador, o el appletviewer
(visor de applets del Java) en la ventana de comandos. Veamos los pasos que se
llevan a cabo:
1. El navegador o el appletviewer, leen el programa HTML y buscan la
etiqueta <APPLET> que contiene el llamado al archivo .class del applet. El
siguiente es el cdigo HTML que se utilizar para llamar al applet
SimpleApplet:
<HTML>
<TITLE> Applet SimpleApplet</TITLE>
<APPLET CODE = "SimpleApplet.class" WIDTH = 300 HEIGHT
= 150>
</APPLET>
</HTML>

2. El navegador descompone la etiqueta <APPLET> para localizar el CODEy


posiblemente el atributo CODEBASE. Ambos atributos se vern en detalle
ms adelante. En nuestro caso se ha utilizado el atributo CODE.
3. El navegador descarga el archivo .class de la direccion URL si se usa
CODEBASE o del directorio de su disco duro para el caso del CODE, segn
como se haya indicado en el paso anterior. En nuestro caso el archivo
SimpleApplet.class, se encuentra en el mismo directorio donde est el
archivo .html.
4. El navegador convierte los bytes descargados, del directorio o de la direccion
URL, en la forma de una clase Java.
5. El navegador crea una instancia de la clase cargada para formar un objeto

La clase Applet : El ciclo de vida de un Applet

6-8

applet. Esto requiere que el applet tenga un constructor sin argumentos.


6. El navegador llama el mtodo init() del applet. Para el caso del applet
SimpleApplet.class se tiene el siguiente:
public void init() {
buffer = new StringBuffer();
agregarItem("Inicializando applet... ");
}

7. El navegador llama luego el mtodo start() del applet.


public void start() {
agregarItem("Arrancando applet... ");
}

8. Mientras el applet est ejecutndose, el navegador pasa cualquier evento que


tenga que ver con el applet en su interaccin con el usuario, por ejemplo
movimiento y presin del ratn, presin de teclas, al mtodo
handleEvent(), que es el manejador de eventos del applet. Se lleva a
cabo la actualizacin de eventos para indicar al applet que necesita repintarse
o sea llamar al mtodo repaint(). En el caso del applet
SimpleApplet.class se dibuja un rectngulo alrededor del rea de la
ventana del applet, y dentro de este dibuja el estado de la cadena buffer,
por medio del mtodo paint(). Se ilustra adems el mtodo de
usuario agregarItem(), el cual genera una salida en la pantalla de
comandos por cada interrupcin del applet, el cual llama al mtodo repaint(),
que se encarga de volver a dibujar el contenido de la ventana, cuando
requiera ser restaurada.
void agregarItem(String palabra) {
System.out.println(palabra);
buffer.append(palabra);
repaint();
}
public void paint(Graphics g) {
g.drawRect(0, 0, getSize().width - 1,getSize().height - 1);

g.drawString(buffer.toString(), 5, 15);
}

9. El navegador llama al mtodo stop(). Para el caso del applet


SimpleApplet.class se ejecuta cuando se detiene el applet.
public void stop() {
agregarItem("Deteniendo applet... ");
}

La clase Applet : El ciclo de vida de un Applet

6-9

10.El navegador llama al mtodo destroy(). Se ejecuta cuando se cierra el


applet.
public void destroy() {
agregarItem("Preparando descargue de la applet...");
}

Mtodos
Las diferentes acciones que se llevan a cabo con un applet, surgen de reaccionar
automticamente a los siguientes eventos, generados por la interaccin del
usuario:

Inicializarse a s misma con el mtodo init().

Arrancar su ejecucin, con el mtodo start().

Detener su ejecucin, con el mtodo stop().

Liberacin de recursos y limpieza para ser descargada, con el mtodo


destroy().

Los mtodos init(), start(), stop() y destroy(), forman parte del


cuerpo genrico de un applet, como se ilustra a continuacin:
public class SimpleApplet extends Applet {
. . .
public void init() {
. . . }
public void start() {
. . . }
public void stop() {
. . . }
public void destroy() {
. . . }
public void paint() {
. . . }
. . .
}

En cada uno de esos mtodos, el programador decidir que comportamiento


incluir o simplemente no los usa en su totalidad. El applet SimpleApplet,
como cualquier applet, se deriva de la superclase Applet, as como tambin
sobrepone o sobreescribe los cuatro primeros mtodos de tal manera que,
responda adecuadamente a los diferentes eventos. Veamos en algn detalle cada
uno de estos mtodos:

La clase Applet : Mtodos 6 - 10

init( )
Es el primer mtodo que se ejecuta, inicializa el applet cada vez que es cargado
o recargado. Se ejecuta una sola vez durante la vida del applet. Es el lugar
donde se pueden colocar condiciones iniciales, como inicializar las variables,
carga de imgenes, generacin de componentes. En general, en este mtodo se
deberan colocar el cdigo que normalmente se pone en un constructor,
haciendo el contraste con los programas o aplicaciones desarrolladas en los
capitulos anteriores.

start( )
Se ejecuta despus de init(), permite iniciar la ejecucin del applet cuando ha
sido cargado o reinicia la ejecucin de este, cuando el usuario visita de nuevo
la pagina donde se encuentra el applet.

stop( )
Detiene

la ejecucin del applet, tanto cuando el usuario lo deja o cuando se


cierra el visualizador o se deja la pagina donde esta el applet. Cuando se trabaja
con hilos (threads) se debe utilizar para suspender aquellos hilos que no es
necesario que se ejecuten mientras el applet no es visible.

destroy( )
Este mtodo se ejecuta cuando el applet tiene que ser borrado de la memoria,
realiza la limpieza y liberacin de recursos como preparacin para el descargue
del applet. El mtodo stop() siempre se ejecuta antes de destroy().
No todos los applets requieren sobreponer estos mtodos, algunos son tan
simples que no los llaman, simplemente dibujan una salida, usando su propio
mtodo paint().

paint( )
Es el mtodo bsico para que el applet despliegue informacin. Es el mtodo
donde ocurre el trabajo real de interaccin grfica del applet. La mayora de los
applets implementan este mtodo para dibujar dentro de una pgina del
navegador, por ello es necesario sobreescribirlo ya que no hace funcin alguna
por defecto. Se ejecuta cuando comienza la ejecucin del applet. Tambin se
ejecuta cada vez que se desea volver a pintar la salida del applet, por ejemplo
cuando se pone en primer plano la ventana del applet una vez haya sido tapada
por otra ventana, o cuando se la restaura despus de habrsela minimizado.
El mtodo paint() de la clase Component recibe como argumento un objeto

La clase Applet : Mtodos 6 - 11


tipo Graphics, el cual contiene el contexto grfico, que describe el entorno
grfico en el que se ejecuta el applet, o sea el registro de los atributos actuales
de la superficie del dibujo, incluyendo, por ejemplo, detalles como la fuente
actual y el color a usar en operaciones de dibujo. La clase Graphics contiene
los mtodos para dibujar cadenas, lineas, rectngulos y otras figuras, manejo del
color, manipulacin de fuentes y otros.
Cuando se ejecuta inicialmente un applet, despus de los llamados a init() y
start(), es invocado automticamente paint(). Para que se invoque de
nuevo paint(), debe ocurrir un evento, por ejemplo el redimensionamiento
del applet. Si se requiere llamar a paint() por parte del programador, deber
hacerse un llamado a repaint() de la clase Component.

update( )
El mtodo update() se utiliza en conjunto con paint() para mejorar el
rendimiento de las operaciones de dibujo. Se ejecuta cuando un applet ha
solicitado que se vuelva a pintar una parte de su ventana.
void update(Graphics g){
. . .
}

El mtodo update() borra lo que se haya dibujado antes en la ventana del


applet, invoca al mtodo paint() y le pasa el objeto Graphics. En la versin
por defecto de update(), primero rellena el applet con el color de fondo por
defecto y luego llama al mtodo paint(). Si el mtodo paint() llena el
fondo con un color diferente al que esta establecido por defecto, se presentar
un parpadeo del fondo cada vez que se ejecute update(), o sea que se vuelva a
pintar la ventana. Una forma de evitar este parpadeo es sobreescribir update()
de tal manera que se realicen en este todas las actividades para pintar la
ventana. As, paint() simplemente llamar a update().

repaint( )
Como se expres anteriormente, un applet escribe en su ventana solo cuando se
llama a los mtodos update() o paint(). En los casos en que sea necesario
actualizar la ventana cuando cambia la informacin a exhibir en esta, por
ejemplo de un cartel en movimiento o una animacin, se recurre al mtodo
repaint() o repintado.
El mtodo repaint() llama al mtodo update() de la clase Component a
fin de despejar los dibujos anteriores y luego update() llama a paint()
directamente por defecto. El AWT ejecuta el mtodo paint() que puede

La clase Applet : Mtodos 6 - 12


mostrar la informacin almacenada. As, si parte de un applet requiere mostrar
una cadena, esta se puede almacenar en una variable String y luego si llamar a
repaint(). Dentro del mtodo paint(), utilizando el mtodo drawString
() se puede mostrar la cadena en la ventana. El mtodo repaint() tiene las
siguientes formas:
repaint( )

Se vuelve a dibujar la ventana completa en la ventana del applet.


repaint(int x, int y, int ancho, int alto)

Repinta el rectngulo especificado por las coordenadas de la esquina superior


izquierda (int x, int y) y con dimensiones ancho y alto dados en pixeles.
Repintar una region de la ventana del applet requiere menos tiempo que si se
repinta toda la ventana.
repaint(long tiempo)

Repinta el componente, llamando a update() despus de que pase un tiempo


expresado en millisegundos.
repaint(long tiempo, int x, int y, int ancho, int alto)

Repinta el rectngulo especificado por las coordenadas de la esquina superior


izquierda (int x, int y) y con dimensiones ancho y alto dados en pixeles,
despus de que haya transcurrido un tiempo en millisegundos.
El siguiente ejemplo ilustra la estructura general de un applet, compuesta por
las rutinas o mtodos para el tratamiento de las diferentes interrupciones dentro
de su ciclo de vida, desde que se inicia hasta que es terminado. El cdigo
HTML que se presenta en seguida se requiere para llamar a la clase
SimpleApplet.class en un navegador o en el appletviewer.

<HTML>
<TITLE> Applet SimpleApplet</TITLE>
<APPLET CODE = "SimpleApplet.class" WIDTH = 300 HEIGHT =
150>
</APPLET>
</HTML>

1.import java.applet.Applet;

La clase Applet : Mtodos 6 - 13


2.import java.awt.Graphics;
3.public class SimpleApplet extends Applet {
4. StringBuffer buffer;
5. public void init() {
6.
buffer = new StringBuffer();
7.
agregarItem("Inicializando applet... ");
8.
}
9. public void start() {
10.
agregarItem("Arrancando applet... ");
11.
}
12. public void stop() {
13.
agregarItem("Deteniendo applet... ");
14.
}
15. public void destroy() {
16.
agregarItem("Preparando descargue de la
applet...");
17.
}
18.
void agregarItem(String palabra) {
19.
System.out.println(palabra);
20.
buffer.append(palabra);
21.
repaint();
22.
}
23. public void paint(Graphics g) {
g.drawRect(0, 0, getSize().width - 1,getSize().height
24.
- 1);

25.
26.
27.}

g.drawString(buffer.toString(), 5, 15);
}

Al ejecutarse el applet anterior con el appletviewer, en la pantalla de comandos


aparecern diferentes mensajes alusivos a los eventos realizados por el usuario
del applet generados por el mtodo agregarItem() con la instruccin
System.out.println() de la lnea 19. El applet genera la ventana indicada
en la figura siguiente, en la cual aparece el rectngulo dibujado por el mtodo
paint(), en la lnea 24, as como los mensajes dibujados por la instruccin de
la lnea 25.
Inicializando applet...
Arrancando applet...
Deteniendo applet...
Arrancando applet...
Deteniendo applet...
Preparando descargue de la applet...

La clase Applet : Mtodos 6 - 14

El visualizador appletviewer de Java, trae las opciones de restart, reload, stop,


start, close y quit entre otras, para realizar diferentes eventos con el applet
mostrada en la ventana de ejecucin.Estas opciones se ilustran en la siguiente
figura y se obtienen presionando la etiqueta applet en la ventana generada por el
appletviewer.

Cargue del applet


En la ventana del applet aparecer
Inicializando applet...Arrancando
Applet..., como resultado de haberse cargado el applet. Al momento de cargar
el applet se realizan las siguientes acciones:

La clase Applet : Mtodos 6 - 15

Se crea una instancia del applet.

Se inicializa el applet por su propia cuenta.

Se inicia la ejecucin del applet.

Abandonando y regresando al applet


Cuando el usuario abandona el applet, por ejemplo cuando pasa a otra pgina en
el navegador o a otra ventana si esta en el visualizador appletviewer, el applet
se detiene por si mismo. Cuando se regresa a la ventana o pagina del applet,
este arranca de nuevo. Sucede la misma secuencia cuando la ventana se
minimiza y se devuelve a su tamao original. Los mensajes que aparecen en la
ventana del applet son Deteniendo Applet...Arrancando Applet...

Recargue del applet


El appletviewer permite recargar el applet, lo cual se lleva a cabo descargndolo
y cargndolo de nuevo automticamente. Antes de que la applet sea descargada,
se detiene y realiza una limpieza final, a fin de liberar los recursos del sistema
que haba ocupado. Luego si se descarga y se carga de nuevo. Estas operaciones
se pueden ver en la ventana de comandos mediante los siguientes mensajes:

Deteniendo Appplet..
Preparando descargue de la applet.....
Inicializando applet....
Arrancando applet...

Los dos primeros mensajes no se pueden ver en la ventana de la applet ya que


esta se ha descargado antes de de que estos textos sean exhibidos. Una vez ha
sido recargada se ven los dos ltimos mensajes en la ventana del applet,
tambin.

Cerrada del navegador


Cuando se cierra el navegador o el visualizador de applets, la applet se detiene y
realiza la limpieza y liberacin de recursos del sistema.

Ejemplos de applets
Ejemplo 1: El siguiente applet define un objeto letra del tipo TimesRoman,
negrita, de 36 puntos. Con los mtodos setFont y setColor, establece el tipo de

La clase Applet : Ejemplos de applets 6 - 16


letra y el color. Con el mtodo drawString dibuja un mensaje.
import java.awt.Graphics;
import java.awt.Font;
import java.awt.Color;
import java.applet.Applet;
public class Ejemplo1 extends Applet{
Font letra= new Font("TimesRoman", Font.BOLD,36);
public void paint(Graphics screen){
screen.setFont(letra);
screen.setColor(Color.blue);
screen.drawString("Bienvenido a applets de Java!!", 5,
40);
}
}

El cdigo HTML es el siguiente:


<html>
<applet code = "Ejemplo1.class" width = 600 height = 100>
</applet>
</html>

Ejemplo 2: Veamos el siguiente applet que permite dibujar circulos


aleatoriamente dentro de la ventana. Solamente utiliza el mtodo paint().
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Color;
public class Circulos extends Applet{
public void paint (Graphics g){
int posi, posj, i;
for (i = 1; i <= 100;i++){
posi = (int)(Math.random()*(getSize().width-20));
posj = (int)(Math.random()*(getSize().height-20));
g.drawOval(posi, posj, 20,20);
}
}

}
El archivo HTML en donde el aplet se invoca, es el siguiente:
<html>
<applet code = "Circulos.class" width = 400 height = 200>
</applet>
</html>

La clase Applet : Ejemplos de applets 6 - 17


Ejemplo 3:
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Color;
public class applet01 extends Applet{
public void paint (Graphics g){
int posi, posj,c1,c2,c3;
for(int i = 1; i <= 100; i++){
posi = (int)(600*Math.random());
posj = (int)(600*Math.random());
c1 = (int)(255*Math.random());
c2 = (int)(255*Math.random());
c3 = (int)(255*Math.random());
Color micolor = new Color(c1,c2,c3);
g.setColor(micolor);
g.fillOval(posi, posj, 20,20);
}
}
}
<html>
<applet code = "Circulos.class" width = 400 height = 200>
</applet>
</html>

La clase Applet :

6 - 18

También podría gustarte