Está en la página 1de 7

Lenguaje de programacin Java

Applets:
Fundamentos y
Ejemplos comentados.
Applet: (Application Let). Son aplicaciones de Interfaz grafica, incrustadas en una
pagina Web. (Documentos HTML). Cuando un navegador (Netscape, Internet explorer, FireFox,
etc), carga una pagina web que contiene un applet, este se carga en el navegador web y comienza a
ejecutarse. El navegador que ejecuta un applet, se le denomina el contenedor de applets.
El Kit de desarrollo de software de Java 2 ( J2SDK), incluye un contenedor de applets llamado:
appletviewer.exe, para ejecutar los applets antes de incrustarlos en una pagina Web. Muchos
navegadores de Internet incluyen el soporte (Java plug-ins) para ejecutar Applets.

API-Java: Colecciones de clases base y derivadas de Java agrupadas en paquetes (package).


La declaracin import indica el uso de los paquetes y sus clases disponibles para la aplicacin
actual. As, por ejemplo:
// Uso de la clase Graphics del paquete java.awt:
import java.awt.Graphics ;
//importar la clase Graphics
Esta clase permite a una Applet de Java dibujar grficos como: lneas, rectngulos, crculos, arcos,
y Texto
En una aplicacin la clase Graphics de java representa un rea de dibujo expresado en pxeles
(pxel: unidad de representacin de un punto en el dispositivo de pantalla. La resolucin de 800 x
600 pixels es la medida soportada por la mayora de las pantallas de PC). Esta es la razn por la
cual las coordenadas (x, y) de los elementos de dibujo y cadenas de texto se expresan en puntos (el
punto inicial (0, 0) es esquina superior izquierda de la applet).

Herencia de clase: Clases y subclases


Una caracterstica de la Tecnologa de Java de Sun Microsystems, es que los programadores rara
vez crean declaraciones de clases, a partir de cero (Toda aplicaciones Java es una clase). Java
utiliza la herencia, para crear nuevas clases a partir de clases base (preexistentes en la API de
Java).
Asi, por ejemplo:
//Heredar desde la clase JApplet
public class Lineas01 extends JApplet{
//definicin de miembros de clase derivada
// miembros privados
// miembros pblicos
}
Mg. Jorge Medi@NERO Acosta.

Pag. 1

Lenguaje de programacin Java

Relacin de herencia: JApplet se conoce como superclase (Base) y Lineas01 como


subclase (derivada o extendida), pues esta ultima hereda los miembros existentes (datos y
mtodos) de la clase antecesora. En realidad la clase component es la clase base indirecta de la
clase Applet de la cual heredan todas las applets. De hecho, muchas de las capacidades de la clase
applet se heredan de la clase component. El mtodo paint definido en la clase component, no hace
nada por omisin, el programador debe implementar la subrutina. El programador casi nunca
invoca directamente al mtodo paint, pues el dibujo de grficos es un proceso controlado por
eventos. Cunado se ejecuta inicialmente una applet, se invoca automticamente el mtodo paint
(despus de las llamadas a los mtodos heredados init y start de la applet). Para que se invoque
otra vez paint, debe ocurrir un evento, como que el usuario redimensione la applet
Si el programador necesita llamar a paint, deber emitir una llamada al mtodo heredado repaint
(repintar) de la clase component. El mtodo repaint llama a su vez al mtodo update (actualizar)
heredado de la clase component a fin de despejar los dibujos del segundo plano anteriores del
component, y luego update llama a paint directamente. El mtodo update casi nunca se invoca
directamente y mas bien en ocasiones se implementa (codifica) pues ayuda a suavizar por ejemplo
las animaciones (efecto de parpadeo).
Las cabeceras de repaint y update son:
public void repaint()
public void update(Graphics g)
Ambos mtodos son miembros pblicos heredados y tienen void como tipo devuelto. El mtodo
update recibe un objeto Graphics como argumento (suministrado automticamente por el mtodo
repaint)

Component

Clase base (superclase)

//propiedades
//metodos
+ init(): void
+ start(): void
+ paint(Graphics g): void
+ stop(): void
+ repaint(): void
+ update(Graphics g): void
+ destroy(): void

Clase derivada (subclase)


Applet
//propiedades
//mtodos
heredados

Relacin de Herencia: Diagrama clases UML (generalizacin/especializacin).

Mg. Jorge Medi@NERO Acosta.

Pag. 2

Lenguaje de programacin Java

Ejemplo 1: Como crear una applet de dibujo de lneas y texto.

Paso a Paso.
Paso 1: Crear el programa: Lineas01.java
//Applet: Lineas01.java
import java.awt.Graphics;
import javax.swing.JApplet;

// Uso de la clase Graphics del paquete java.awt


//importar la clase JApplet

public class Lineas01 extends JApplet{ //aplicacin Lineas01, se hereda de JApplet


public void paint(Graphics g){
int i, x=10, y=50;
int x1=20, y1=10, x2=250, y2=10; //coordenadas de P1 y P2
int h, w, a;
super.paint(g);
//inicializar constructor de superclase
for(i=1; i<=10; ++i)
g.drawLine(x1, y1, x2, y2*i); //linea definida por P1 y P2
w = x2 - x1; h = y2 * (i-1) - y1;
a = (w * h) / 2;

//calculo de Ancho, altura y


//rea expresado en pixels

//Informacion de salida

g.drawString("Dimensiones: ", x,
g.drawString("
Ancho: " +
g.drawString("
Alto: " +
g.drawString("
Area: " +

y);
w, x, y+15);
h, x, y+30);
a, x, y+45);

}
}

Paso 2: Compilar el programa: Digite en la lnea de comando (Consola MS-DOS)


C:\CursoJava>JavaC

Lineas01.java

Paso 3: Crear la pagina web: Lineas01.html


La etiqueta <applet code="Lineas01.class" width=300 height=200> le indica al
contenedor de applets que cargue el applet Lineas01.class (archivo bytecode)
con 300 x 200 pixels de ancho y altura respectivamente.

<!--Documento HTML para el contenedor de applets


//pagina web: Lineas01.html
-->
<HTML>
<applet code="Lineas01.class" width=300 height=200>
</applet>
</HTML>

Mg. Jorge Medi@NERO Acosta.

Pag. 3

Lenguaje de programacin Java

Paso 4: Cargar y ejecutar el applet incrustado en la pagina web. (Uso del contenedor de applets,
appletviewer.exe).
Digite la siguiente orden en el prompt MS-DOS
C:\CursoJava> AppletViewer

Lineas01.html

Prototipo 1: applet Lineas01.class en ejecucin

Contexto grafico y Objetos grficos.


Un contexto grafico hace posible dibujar en la pantalla de Java. Un Objeto Graphics implementa
un contexto grafico y controla como se dibuja la informacin. Los objetos Graphics (de la clase
abstracta Graphics), contienen mtodos para dibujar, manipular fuentes, colores, imgenes, etc.
En nuestra applet Lineas01, por ejemplo se ha utilizado el objeto Graphics g (el argumento del
mtodo paint de la applet) para manejar el contexto grafico de la applet. El objeto g recibe una
referencia de la clase Graphics derivada del sistema.

Mtodos de Graphics para dibujar cadenas, caracteres y bytes.


public abstract void drawString(
String string,
int x,
int y )

// cadena que se dibujara


// x coordenada
// y coordenada

Dibuja una cadena con la fuente y el color vigentes en las coordenadas (x, y)

Mg. Jorge Medi@NERO Acosta.

Pag. 4

Lenguaje de programacin Java

public void drawChars(


char chars[],
int offset,
int number,
int x,
int y )

//
//
//
//
//

arreglo que se va a dibujar


indice inicial
numero de elementos por dibujar
coordenada x
coordenada y

Dibuja un conjunto de caracteres con la fuente y color vigentes en la coordenada (x, y)


public void drawBytes(
byte bytes[],
int offset,
int number,
int x,
int y )

//
//
//
//
//

arreglo de bytes
indice inicial
numero de elementos por dibujar
coordenada x
coordenada y

Dibuja un conjunto de bytes con la fuente y color vigentes en la coordenada (x, y)

Ejemplo 2: Como crear un applet de dibujo de Areas y Texto a color


Algoritmo: Disear un programa Java de tipo Applet, que Imprima por pantalla el anlisis del
calculo del rea de un Cilindro regular mediante el mtodo geomtrico.
Anlisis: Determinar el rea de un cilindro recto, segn las especificaciones del diagrama
(Mtodo Geomtrico).

h
2..r

Area.lateral = 2..r . h
Area.base = .r^2

r
Area.total = Area.lateral + 2(Area.base)

Mg. Jorge Medi@NERO Acosta.

Pag. 5

Lenguaje de programacin Java

Prototipo 2: Modelo de Interfaz a disear

Area.base
=
Area.lateral =
Area.total
=

.r^2
2..r . h
Area.lateral + 2(Area.base)

Prototipo 2: Cilindro.class en ejecucin (Contenedor appletviewer).

Paso a Paso.
Paso 1: Crear el programa Cilindro.java
//applet: Cilindro.java
//Author: J.Medianero A.
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Font;
import javax.swing.JApplet;
public class Cilindro extends JApplet{
private Font courierBold12;
private Font impactPlain14;
private Color cRGB;
public void init(){
courierBold12 = new Font("Courier New", Font.BOLD, 12);
impactPlain14 = new Font("Impact", Font.PLAIN, 14);
cRGB = new Color(0, 0, 255); // azul
}

Mg. Jorge Medi@NERO Acosta.

Pag. 6

Lenguaje de programacin Java

public void paint(Graphics g){


g.setColor(cRGB);
g.setFont(impactPlain14);
g.drawString("Area.cilindro: Metodo Geometrico", 25, 25);
dibujaCirculo(g, 30, 105);
dibujaRectangulo(g, 100, 60);
dibujaCirculo(g, 300, 25);
g.drawLine(335, 60, 370, 60);
g.drawString("r", 350, 55);
g.drawString("h", 110, 100);
g.drawString("2.PI.r", 200, 160);
dibujaFormula(g, 200, 200);
}
public void dibujaCirculo(Graphics g, int x, int y){
g.setColor(new Color(50, 200, 50));
g.drawOval(x, y, 70, 70);
}
public void dibujaRectangulo(Graphics g, int x, int y){
g.setColor(new Color(255, 0, 0));
g.drawRect(x, y, 200, 80);
}
public void dibujaFormula(Graphics
g.setFont(courierBold12 );
g.drawString("Area.base
=
g.drawString("Area.lateral =
g.drawString("Area.total
=
}

g, int x, int y){


PI.r^2", x, y);
(2.PI.r)h", x, y+15);
Area.lateral+2(Area.Base)", x, y+30 );

Paso 2: Compilar el programa: Digite en la lnea de comando (Consola MS-DOS)


C:\CursoJava>JavaC

Cilindro.java

Paso 3: Crear la pagina web: Cilindro.html


<!--Documento HTML para el contenedor de applets
//pagina web: Cilindro.html
-->
<HTML>
<applet code="Cilindro.class" width=500 height=300>
</applet>
</HTML>

Paso 4: Cargar y ejecutar el applet incrustado en la pagina web: (Uso del contenedor de applets,
appletviewer.exe).
Digite la siguiente orden en el prompt MS-DOS

(Ver prototipo 2, en ejecucin)

C:\CursoJava> AppletViewer

Mg. Jorge Medi@NERO Acosta.

Cilindro.html

Pag. 7

También podría gustarte