Documente Academic
Documente Profesional
Documente Cultură
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()
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
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
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
}