Vamos a pasar a escribir nuestro primer applet Java. El código
fuente se encuentra en el fichero HolaJava.java. El applet es una
variación un poco más complicada del típico HolaMundo. El applet utilizará tres propiedades:
Label ldato; // Una etiqueta
TextField tdato; // Un campo de texto
Image imagen; // Una imagen
Y las inicializamos dentro del método init() :
public void init()
{
}
Dentro del método init, nos encontramos con los constructores como:
ldato= new Label("Duke dice:");
Y posteriormente con el método add() para añadirlas al Layout:
add(ldato);
La sentencia
imagen= getImage(getCodeBase(), "duke.gif");
crea un objeto de la clase Image a partir del fichero duke.gif que
se buscará en el mismo directorio que el applet (con el método getCodeBase() ) cuando carguemos el applet en el navegador.
El método paint() (heredado de java.awt.Container ) es invocado cada
vez que el applet recibe un
evento que le indica que tiene que redibujarse: superposición de
otra ventana, minimización de la ventana del navegador, scroll de
la ventana, etc. En nuestro caso le encargamos que dibuje la imagen en
unas coordenadas dadas:
public void paint(Graphics g) {
g.drawImage(imagen, 200, 40, this);
}
Ya hemos finalizado el código de nuestro applet. Solo resta
compilarlo:
javac HolaJava.java
Esto produce un fichero llamado HolaJava.class que ya podemos ejecutar
en una máquina virtual java. Para ejecutarlo en el navegador solo
tenemos que crear una página HTML que contenga la etiqueta2:
<applet code="HolaJava.class" name="Hola1"></applet>
Si el tamaño del applet resulta demasiado grande o pequeño,
podemos indicarle al navegador que reserve un espacio determinado para
el applet:
<applet code="HolaJava.class" name="Hola2" width=280 height=150 border=0></applet>
El resultado final se muestra en la página Hola.html
El código completo del applet es el siguiente:
import java.applet.*;
import java.awt.*;
public class HolaJava extends Applet {
Label ldato;
TextField tdato;
Image imagen;
public void init(){
ldato= new Label("Duke dice:");
tdato= new TextField ("Hola desde Java");
imagen= getImage(getCodeBase(), "duke.gif");
add(ldato);
add(tdato);
}
public void paint(Graphics g) {
g.drawImage(imagen, 200, 40, this);
}
}
- Observa cómo lo representa el navegador, y comprueba
que el resultado se corresponde con lo que esperabas.
- Observa la página en el appletviewer
|