APPLETS en JAVA Las applets (miniaplicación) son programas escritos en Java que sirven para "dar vida" a las páginas Web (interacción en tiempo real, inclusión de animaciones, sonidos...), de ahí su potencia. Para trabajar con applets se debe importar el paquete (librería) java.applet.Applet. La clase del programa que se quiere crear debe heredar de la clase Applet. A continuación se muestran algunos ejemplos. 1. Programa que calcula el factorial de 1 número. En el ejemplo que se muestra a continuación utilizamos clase del paquete awt (Button y TextField) import java.applet.Applet; import java.awt.*; public class Factorial extends Applet { TextField t1=new TextField(); TextField t2=new TextField(); Button b=new Button("factorial"); public void init() { add(t1); add(b); add(t2); } Al igual que en los Frames, en los Applets se pueden utilizar las clases de la librería awt (Button, Label, TextField, etc.) En los Applets se puede usar la función init(), esta función es la primera función que se ejecuta en un Applet También podría ser el constructor de la clase public boolean action(Event e,Object o) { if(e.target==b) { int a=Integer.parseInt(t1.getText()); int fac=1; for(int i=1;i<=a;i++) fac=fac*i; t2.setText(fac+""); } return true; } } //fin clase factorial Función que se ejecuta cuando se presiona un botón (es igual que en los Frames) Para visualizar este programa en una página web se debe crear una página html (página web) desde el cual se llame al applet. Como a continuación se muestra. <html> <applet code="factorial.class" width=200> </applet> </html> 2. Programa que suma dos números introducidos por teclado import java.applet.Applet; import java.awt.*; public class suma extends Applet { TextField t1=new TextField(); TextField t2=new TextField(); TextField t3=new TextField(); Button b=new Button("sumar"); public void init() { add(t1); add(t2); add(b); add(t3); } public boolean action(Event e,Object o) { if(e.target==b) { int a=Integer.parseInt(t1.getText()); int b=Integer.parseInt(t2.getText()); int c=a+b; t3.setText(c+""); } return true; } } //fin de la clase suma Posicionando los objetos del Applet setLayout(null) import java.applet.Applet; import java.awt.*; public class suma extends Applet { TextField t1=new TextField(); TextField t2=new TextField(); TextField t3=new TextField(); Button b=new Button("sumar"); public void init() { setLayout(null); add(t1); t1.setSize(40,20); t1.setLocation(30,30); Para poder posicionar los elementos dentro de un applet se debe anular el setLayout(null) add(t2); t2.setSize(40,20); t2.setLocation(30,70); add(b); b.setSize(40,20); b.setLocation(80,50); add(t3); t3.setSize(40,20); t3.setLocation(140,50); } public boolean action(Event e,Object o) { if(e.target==b) { int a=Integer.parseInt(t1.getText()); int b=Integer.parseInt(t2.getText()); int c=a+b; t3.setText(c+""); } return true; } } //fin de la clase suma La clase Graphics Para utilizar la clase Graphics se debe crear la función paint(), la función paint se puede utilizar en Frames y en Applets. Por ejemplo: 3. Applet que visualiza un circulo y un rectángulo import java.applet.Applet; import java.awt.*; public class Ejemplo extends Applet { public void init() { this.setSize(300,300); } public void paint(Graphics g) { g.drawString("CIRCULO",50,40); g.drawOval(50,50,50,50); g.drawString("RECTANGULO",150,40); g.drawRect(150,50,50,50); drawString.- dibuja un texto drawOval.- dibuja un ovalo drawRect.- dibuja un rectangulo } } Applet que carga una imagen Previamente tendremos que copiar la(s) imágenes en nuestro proyecto, las imágenes pueden ser bmp, jpg o gif import java.applet.Applet; //para usar Applets import java.awt.*; //para usar graphics import javax.swing.ImageIcon; //para usar ImageIcon public class Principal extends Applet { Image ima=new ImageIcon(getClass().getResource("arbol02.gif")).getImage(); public void init() { Alto de la this.setSize(400,400); nombre del archivo } imagen de imagen public void paint(Graphics g) { g.drawImage(ima,40,40,160,160,null); } } Posición x Eventos (PRESIONAR Posición y Ancho de la imagen TECLAS) Evento presionar una tecla (se usa la función boolean keyDown(Event e, int key)) import java.applet.Applet; import java.awt.*; public class Ejemplo extends Applet { int x=30,y=30; public void init() { this.setSize(300,300); } public void paint(Graphics g) { g.fillOval(x,y,20,20); } Almacena el valor numérico de la tecla presionada public boolean keyDown(Event e,int key) { if(key==1004) y=y-10; if(key==1005) y=y+10; if(key==1006) x=x-10; if(key==1007) x=x+10; repaint(); return true; } Llama a la función paint } Applet que visualiza el número correspondiente asociado a cada tecla import java.applet.Applet; import java.awt.*; public class Ejemplo extends Applet { String cad="numero de tecla"; public void paint(Graphics g) { g.drawString(cad, 30, 30); } public boolean keyDown(Event e,int key) { cad=String.valueOf(key); repaint(); return true; } Convierte un } número a cadena