Está en la página 1de 5

APPLET EN JAVA

En Java, un applet es un programa que puede incrustarse en un documento HTML, es


decir en una pgina web. Cuando un navegador carga una pgina web que contiene un
applet, este se descarga en el navegador web y comienza a ejecutarse. Esto permite
crear programas que cualquier usuario puede ejecutar con tan solo cargar la pgina web
en su navegador.

Observaciones: Con un navegador de internet suelen usar versiones antiguas de Java


por lo que se debe actualizar la mquina virtual java si es necesario para lo cual se puede
accesar a la siguiente direccin de internet: https://www.java.com/es/download/manual.jsp

Caractersticas de los Applets:

Los applets son objetos Java que:

Presentan una ventana grfica para su ejecucin


Tienen un conjunto bien definido de operaciones que:
Les permiten formar parte de otros programas y estar integrado en pginas web
Permiten por tanto crear pginas web dinmicas
Tienen algunas restricciones especiales:
No tienen operacin main()
Estn gobernados por eventos
Entrada/Salida es diferente a la de las aplicaciones

Ventajas

Los applets de Java suelen tener las siguientes ventajas:

Son multiplataforma (funcionan en Linux, Windows, Mac OS, y en cualquier


sistema operativo para el cual exista una Java Virtual Machine).
El mismo applet puede trabajar en "todas" las versiones de Java, y no slo en la
ltima versin del plugin. Sin embargo, si un applet requiere una versin posterior
del Java Runtime Environment (JRE), el cliente se ver obligado a descargar la
nueva JRE.
Es compatible con la mayora de los navegadores web.
Puede ser almacenado en la memoria cach de la mayora de los navegadores
web, de modo que se cargar rpidamente cuando se vuelva a cargar la pgina
web, aunque puede quedar atascado en la cach, causando problemas cuando se
publican nuevas versiones.

Desventajas

Los applets de Java suelen tener las siguientes desventajas:

Requiere el plugin de Java, que no est disponible por omisin en todos los
navegadores web.
No puede iniciar la ejecucin hasta que la JVM est en funcionamiento, y esto
puede tomar tiempo la primera vez que se ejecuta un applet.
Si no est firmado como confiable, tiene un acceso limitado al sistema del usuario -
en particular no tiene acceso directo al disco duro del cliente o al portapapeles.
Algunas organizaciones slo permiten la instalacin de software a los
administradores. Como resultado, muchos usuarios (sin privilegios para instalar el
plugin en su navegador) no pueden ver los applets.
Un applet podra exigir una versin especfica del JRE.
Puede tener vulnerabilidades que permitan ejecutar cdigo malicioso.
Estructura de un Applet

import java.awt.*;
import java.applet.*;
public class AppletUmg extends Applet
{
String mensaje;
public void init()
{
mensaje=" Universidad ";
}
public void start()
{
mensaje=mensaje+" Mariano Galvez de Guatemala ";
}
public void paint(Graphics g)
{
g.drawString(mensaje,80,10);
}
}

Insertar un Applet en una Pgina Web

<html>
<head>
<title> Ejemplo de Applet </title>
</head>
<body>
<applet codebase="Directorio" code=" AppletUmg.class" width=300
height=200>
</applet>
</body>
</html>

Donde:

- codebase: directorio donde se encuentran el Applet con extensin .class


- code: nombre del applet.class
- width, height: ancho y alto de la ventana

Observacin: Si el Applet se encuentra en la misma carpeta de la pgina html, solo basta


Usar: <applet code = " AppletUmg.class " width=300 height=200>
</applet>

Applets Gobernados Por Eventos

Eventos

Los eventos son sucesos que el Sistema Operativo detecta relacionados con el programa,
Ejemplo: la entrada/salida, y el sistema de ventanas:

eventos de ratn: mover, hacer click, ...


eventos de teclado: pulsar o liberar una tecla
eventos de accin: pulsacin de un botn o men
eventos de texto: cambiar el valor de una entrada de texto
eventos de ventana: cerrar una ventana, abrirla,minimizarla...
etc.
En un programa gobernado por eventos:

Hay operaciones que gestionan eventos


El applet est esperando a que llegue un evento
Cuando el Sistema Operativo detecta un evento llama a la operacin asociada a ese
evento
La operacin debe atender y terminar prontamente dicho evento
La operacin no debe esperar a que algo ocurra, por ejemplo que suceda otro evento
antes de ser atendido el anterior.
El usuario es el que inicia la accin.

Dibujando sobre un applet

La salida se hace dibujando sobre un entorno grfico desde el Mtodo paint()

- drawString(mensaje, c, f)
- drawLine(c,f,c,f)
- drawRect(c,f, ancho,alto)
- drawOval(c,f, ancho,alto)
- drawArc(c, f, ancho, alto, anguloInicial, anguloBarrido)
- drawPolygon (c[], f[], numPuntos)

Todas las coordenadas son en pixels, siendo (0,0) la esquina superior izquierda
ngulos en grados, 0=horizontal

Ejemplo:

import java.awt.*;
import java.applet.*;
public class Dibujo extends Applet
{
public void init()
{
}
public void start()
{
}
public void paint(Graphics g)
{
g.drawString("UNIVERSIDAD MARIANO GALVEZ DE GUATEMALA",50,10); //Texto
g.drawLine(50,15,325,15); //Dibujando Linea
g.drawOval(75,20,200,100); //Dibujando Ovalo Grande
g.drawOval(100,35,20,20); //Dibujando Ovalo Pequeo, ojo izquierdo
g.drawOval(140,35,20,20); //Dibujando Ovalo Pequeo, ojo derecho
g.drawArc(100,30,60,60,210,120); //Dibujando Archo, boca
g.drawRect(75,120,200,25); //Dibujando Rectangulo
int columna[] = {125, 225,125, 225}; //Estableciendo puntos en y, columnas
int fila[] = {145, 145,300, 300}; //Estableciendo puntos en x, filas
g.drawPolygon(columna,fila,4); //Dibujando el Poligono en base a los puntos y,x
}
}
Etiquetas y botones

Las etiquetas son ventanas de la clase Label con un texto, que se pueden aadir a un
applet (con add()).

Los botones de la clase Button, adems de lo anterior, producen un evento de accin


al ser pulsados hay que programar el applet para que atienda a eventos de accin; para
ello:

- Se debe implementar ActionListener


- Se debe tener una operacin actionPerformed(), que atiende a todos los eventos de
Accin
- Hay que indicar que los eventos del botn son atendidos por el applet, esto se logra con
la operacin addActionListener()

Ejemplo:

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Contador extends Applet implements ActionListener
{
Label mens;
Button incr,decr;
int cuenta=0;
public void init()
{
mens=new Label ("Contador: "+cuenta);
incr=new Button("Incrementar");
decr=new Button("Decrementar");
add(incr);
add(decr);
add(mens);
incr.addActionListener(this);
decr.addActionListener(this);
}
public void actionPerformed(ActionEvent ev)
{
String str = ev.getActionCommand();
if (str.equals("Incrementar"))
{
cuenta++;
}
else if(str.equals("Decrementar"))
{
cuenta--;
}
mens.setText("Contador: "+cuenta);
}
public void start()
{
}
public void paint(Graphics g)
{
}
}
Entradas de Texto

Son objetos de la clase TextField que presentan una ventana en pantalla en la que se
puede teclear un texto
Se pueden aadir a un applet
Se puede leer su valor con getText()
Generan eventos de tipo texto

Ejemplo:

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Temperatura extends Applet implements ActionListener
{
Label mens;
Button af,ag;
TextField temp;
public void init()
{
mens=new Label (" ");
af=new Button("A Fahrenheit");
ag=new Button("A Grados");
temp= new TextField("0.0");
add(af);
add(ag);
add(temp);
add(mens);
af.addActionListener(this);
ag.addActionListener(this);
}
public void actionPerformed(ActionEvent ev)
{
try {
double tempActual=Double.parseDouble(temp.getText());
String str = ev.getActionCommand();
if (str.equals("A Fahrenheit"))
{
mens.setText("Temperatura "+tempActual+" C = "+(tempActual*1.80+32.0)+" F");
}
else if (str.equals("A Grados"))
{
mens.setText("Temperatura "+tempActual+" F = "+ ((tempActual-32.0)/1.80)+" C");
}
}
catch (NumberFormatException e)
{
mens.setText("Error");
}
}
public void start()
{
}
public void paint(Graphics g)
{
}
}//Fin de la clase Temperatura

Espero les pueda servir de mucho, este material preparado con bastante aprecio a los alumnos del
curso de Programacin Avanzada, secciones A y B

Atentamente:

Ingeniero Haroldo Herlindo Turcios Garca


Catedrtico UMG

También podría gustarte