Sunteți pe pagina 1din 9

Tema 8.

Applets
„ ¿Qué es un applet?
„ Características
„ Métodos de un applet
„ Inclusión de un applet en una página
HTML
„ Ejemplo
„ Threads en applets

1
¿Qué es un applet?
„ Aplicación que se ejecuta en un navegador al
cargar una página HTML
„ Los ficheros de Java compilados (*.class) se
descargan desde el servidor hasta el navegador en
cuya JVM se ejecutan
„ El applet se ejecuta en la ventana del navegador
(en un Panel).
„ Los applets tienen importantes restricciones de
seguridad
„ Sólo pueden leer y escribir ficheros en el servidor del que
provienen

2
Características de un applet
„ Jerarquía de clases:
„ java.lang.Object
„ java.awt.Component
„ java.awt.Container← java.awt.Panel ← java.applet.Applet
„ Todos los applets derivan de java.applet.Applet
„ No tiene un main() con el que comienza la ejecución
„ Debe redefinir métodos heredados de Applet que controlan su
ejecución:
„ init(), start(), stop(), destroy()

„ Hereda los métodos gráficos de Component, y la capacidad de


añadir componentes de interface de usuario los hereda de
Container y de Panel
„ Suele redefinir el método gráfico paint()

3
Métodos de ejecución
„ Los métodos que controlan la ejecución de los applets son
llamados por el navegador
„ Método init()
„ Se llama cuando el navegador carga el applet

„ Se ocupa de las tareas de inicialización

„ Método start()
„ Se llama cuando el applet se hace visible después de haber
sido inicializado, o tras haber estado oculto
„ Se utiliza para crear threads para determinadas tareas

„ Método stop()
„ Se llama al ocultar el applet

„ Se utiliza para detener threads

„ Método destroy()
„ Se llama cuando el applet va a ser destruido, con la
finalidad de que libere recursos 4
Métodos gráficos
„ Un applet es una aplicación gráfica que aparece en
una zona de la ventana del navegador
„ Debe redefinir el método gráfico paint():
„ public void paint(Graphics g)
„ Todo el trabajo gráfico se debe incluir en este método
„ Es llamado al mostrar el applet por 1ª vez y cada vez que
hay que redibujarlo
„ Para volver a dibujar el applet se utiliza el método
repaint()
„ Este método llama a update(), que borra todo y luego
llama a paint()

5
Inclusión de un applet en una
página HTML
„ Para incluir un applet en una página HTML se utiliza
la etiqueta: <APPLET...>...</APPLET>
„ Forma general:
<APPLET CODE = Clase.class
WIDTH=pixeles HEIGHT=pixeles
[ALT = “texto alternativo”]>
[<PARAM NAME=“Parametro1” VALUE=“valor1”]
[<PARAM NAME=“Parametro2” VALUE=“valor2”]
</APPLET>
„ El valor de los parámetros se obtiene con el método
de la clase Applet:
„ String getParameter(String name);

6
Ejemplo (i)
public void init()
{
import java.awt.*; texto = getParameter("texto");
import java.applet.*; fuente = new Font("Courier new",
Font.BOLD, 14);
public class EjemploApplet1 colorFondo = new Color(255,255,0);
extends Applet colorTexto = new Color(0,0,255);
}
{
public void paint(Graphics g)
private String texto;
{
private Color colorFondo; g.setColor(colorFondo);
private Color colorTexto; g.fillRect(0,0,getSize().width,getSize().height);
private Font fuente; g.setColor(colorTexto);
g.setFont(fuente);
g.drawString(texto,10,20);
}
} 7
Ejemplo (ii)
EjemploApplet1.html:
<APPLET code = EjemploApplet1.class WIDTH=400 HEIGHT=200>
<PARAM NAME="texto" VALUE="Primer ejemplo de Applet">
</APPLET>

Visualización:
9 appletviewer EjemploApplet1.html
9 navegador

8
Threads en applets
import java.awt.*; public void run()
import java.applet.*; {
Thread hiloActual=Thread.currentThread();
public class AppletThread extends while(hilo==hiloActual){
Applet implements Runnable // tarea repetitiva
{ }
private Thread hilo = null; }
public void init(){}
public void start() public void stop()
{ {
if(hilo==null){ hilo=null;
// crea el hilo }
hilo=new Thread(this); public void paint(Graphics g){ }
hilo.start(); // lanza el hilo
} }
9
}

S-ar putea să vă placă și