You are on page 1of 28

APPLETS

Applet
Un applet es una pequea aplicacin accesible en un
servidor Internet, que se transporta por la red, se
instala automticamente y se ejecuta in situ como
parte de un documento web. Patrick Naughton.

Appletviewer
Podemos utilizar un navegador web como Explorer,
Netscape o HotJava para ver nuestros applets,
especialmente cuando los queremos incluir dentro de una
pgina web ya construida. Sin embargo, mientras
programemos el applet, ser recomendable utilizar el
programa que viene incluido en el JDK para probarlos.
Mtodos de la clase Applet
La clase Applet tiene varios mtodos que deben sobreescribir las clases que
hereden de ella:

Este mtodo siempre se reescribe. Se llama cuando

init() se carga el applet por primera vez. Por simplicidad,


en los ejemplos que vamos a mostrar en este tutorial
slo usamos este mtodo.

start() Se llama cada vez que se visita o se recarga el applet.

stop() Se llama para detener la ejecucin del applet, cuando


se abandona la pgina.

destroy() Se llama cuando ya no se va a ejecutar ms el applet.


paint(Graphics Se llama automticamente si hay que refrescar la
ventana o zona de dibujo del applet.
g) Por defecto slo la pinta con fondo gris.

Es llamado por el sistema para actualizar las ventanas


update(Graphis Por defecto pinta el rea completa de dibujo con el
color Java 50 de fondo
g) Asigna el color del fondo
Invoca el mtodo paint()

repaint() Redibuja el contenido del componente


Ciclo de Vida de un Applet
Inclusin de un applet en cdigo html

<HTML>
<BODY>
<APPLET CODE="AdiosMundo.class"
WIDTH="200" HEIGHT="70">
</APPLET>
</BODY>
</HTML>
La clase Graphics
La clase Graphics dispone de ms mtodos, que nos permitirn
dibujar figuras e imgenes.

Escribe un texto a partir de las


drawString(String texto,x,y) coordenadas (x,y).

Dibuja una lnea entre las coordenadas (x1,y1) y


drawLine(x1,y1,x2,y2)
(x2,y2).

drawRect(x,y,ancho,alto)
Son tres mtodos encargados de dibujar, rellenar y
limpiar, respectivamente, un rectngulo cuya
fillRect(x,y,ancho,alto)
esquina superior izquierda est en las coordenadas
(x,y) y tienen el ancho y alto especificados.
clearRect(x,y,ancho.alto)
La clase Graphics
drawRoundRect(x,y,ancho,alto,anchoArco,alto Equivalentes a los anteriores, pero
con las esquinas redondeadas. La
Arco) forma y tamao de dichas
fillRoundRect(x,y,ancho,alto,anchoArco,altoAr esquinas viene dada por los dos
co) ltimos parmetros.

Equivalentes a los primeros, pero


draw3DRect(x,y,ancho,alto,boolean elevado) dibujan un borde para dar la
sensacin de que est elevado o
fill3DRect(x,y,ancho,alto,boolean elevado) hundido (dependiendo del valor del
ltimo parmetro).

drawOval(x,y,ancho,alto) Dibujan una elipse con esquina


izquierda superior en (x,y) y el ancho y
alto especificados. Si son iguales
dibujar un crculo. )
fillOval(x,y,ancho,alto)
La clase Graphics
drawArc(x,y,ancho,alto,anguloInicio,anguloArc Dibuja una arco cuyo primer vrtice
o) est en (x,y) y el segundo en
(x+ancho,y+alto). La forma del
mismo vendr dado por los dos
fillArc(x,y,ancho,alto,anguloInicio,anguloArco) ltimos parmetros.

drawPolygon(int[] coordenadasX,int[]
coordenadasY,numCoordenadas)
Dibuja un polgono cerrado del
nmero de puntos especificado en el
fillPolygon(int[] coordenadasX,int[] ltimo parmetro.
coordenadasY,numCoordenadas)

Copia el rea cuya esquina


superior izquierda est en
copyArea(xOrigen,yOrigen,ancho,alto,xDest,yDest) (xOrigen,yOrigen) y de ancho y
alto especificados a la zona que
comienza en (xDest, yDest).
Ejemplo
/**
* Applet Figurines
*
* <APPLET CODE="Figurines.class" WIDTH="200"
HEIGHT="70"></APPLET>
*/
import java.applet.Applet;
import java.awt.*;
public class Figurines extends Applet {
public void paint(Graphics g) {
g.drawString("Adios, mundo
cruel",20,20);
g.fillRoundRect(10,30,50,20,10,10);
g.draw3DRect(100,30,50,20,true);
}
}
Clase Color

Ahora ya sabemos como dibujar, sin embargo todo nos sale blanco y
negro...

La clase Graphics almacena internamente el color con el que pinta todo,


que por defecto es negro.

Para poder cambiar dicho color deberemos utilizar el mtodo setColor(),


que recibe un nico parmetro de tipo Color.

La clase Color dispone de varias propiedades estticas que contienen los


colores ms comunes; son:
Clase Color
La clase Color dispone de varias propiedades estticas que
contienen los colores ms comunes; son:

Color.black (negro),
Color.blue (azul),
Color.cyan,
Color.darkGray (gris obscuro),
Color.gray (gris),
Color.green (verde),
Color.lightGray (gris claro),
Color.magenta (magenta),
Color.orange (naranja),
Color.pink (rosa),
Color.red (rojo),
Color.white (blanco)
Color.yellow (amarillo).
Pero tambin se pueden crear instancias de color por medio de
constructores para definir colores menos comunes.
Por ejemplo:
Color c = new Color(int rojo, int verde, int azul)

El color creado tendr las cantidades de rojo, verde y azul indicadas, las
cuales debern estar en un rango que va de 0 a 255.

Color c = new Color(int rojo, int verde, int azul, int alfa)
Idntico al anterior, pero aade un canal alfa que indica el grado de
transparencia. Slo funciona con el JDK 1.2.
valores RGB.
Nombre Red (rojo) Green (verde) Blue (azul)
white 255 255 255
lightGray 192 192 192
gray 128 128 128
drakGray 64 64 64
black 0 0 0
red 255 0 0
pink 255 175 175
orange 255 200 0
yellow 255 255 0
green 0 255 0
magenta 255 0 255
cyan 0 255 255
blue 0 0 255
Ejercicio de Figuras
public void paint(Graphics g) {
for(int i=0; i<10; i++){
g.drawLine(10,10, 250, 10*i*10);

public void paint(Graphics g){


for(int i=10;i>0;i--){
g.drawRect(200-i*10,200-i*10,50+i*20,i*20);
}
}
} }

public void paint(Graphics g) {


for(int i=0; i<10; i++){
g.drawRect(25*i,25*i, 50, 30);
}
}

public void paint(Graphics g) {


int naranja=20;
for(int i=10; i>0; i--){
g.setColor(new Color(naranja+((i*23)+5),naranja+i*15,0));
g.fillRect(25*i,25*i, 50, 30);
Clase FONT
Para crear una fuente de texto u objeto de la clase Font llamamos a su
constructor, y le pasamos el nombre de la fuente de texto, el estilo y el tamao.
Por ejemplo,

Font fuente=new Font("TimesRoman", Font.BOLD, 12);


Esta sentencia, crea una fuente de texto Times Roman, en letra negrita, de 12
puntos. Los estilos vienen datos por constantes (miembros estticos de la
clase Font):

Font.BOLD establece el estilo negrita,


Font.ITALIC, el estilo cursiva,
Font.PLAIN, el estilo normal.
Se pueden combinar las constantes Font.BOLD+Font.ITALIC para establecer el
estilo negrita y cursiva a la vez.

La funcin setFont de la clase Graphics establece la fuente de texto en el


contexto grfico g.
g.setFont(fuente);
public void init()

{ this.setSize(300,300); }
Applets con GUIS

import javax.swing.*
import java.awt;

public class Applet0 extends JApplet {

// constantes y componentes (atributos)

public void init() {

// configurar componentes

// configurar layout;

// configurar Manejadores Eventos;

}
}
import javax.swing.*;
import java.awt.*;
public class Applet01 extends JApplet
{
JLabel etiqueta;
public void init(){
// configurar componentes;
etiqueta = new JLabel("Mi primer Applet Swing");
add(etiqueta);
// configurar layout;
FlowLayout milayout = new FlowLayout();
setLayout(milayout);
...
}
}
Dibujar circulos aleatoriamente dentro de la ventana. Solamente utiliza el
mtodo paint().

import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Color;

public class Circulos extends Applet{

public void paint (Graphics g){


int posi, posj, i;
for (i = 1; i <= 100;i++){
posi = (int)(Math.random()*(getSize().width-20));
posj = (int)(Math.random()*(getSize().height-20));
g.drawOval(posi, posj, 20,20);
}
}
}
Las siguientes figuras ilustran la interfaz, desde el inicio hasta la presin de
un boton cualquiera y exhibir algn mensaje dibujado en la ventana del
applet.
import java.awt.*; public void actionPerformed(ActionEvent
import java.awt.event.*; evento){
import java.applet.*; if(evento.getSource()== botonSi)
public class Botones01 extends msg = ("ha pulsado el boton si");
Applet implements ActionListener else if(evento.getSource()==botonNo)
{ msg = "ha pulsado el boton no";
String msg = " "; else
Button botonSi,botonNo,botonOtro; if(evento.getSource()==botonOtro)
public void init (){ msg = "ha pulsado boton otro";
botonSi = new Button("si"); repaint();
botonSi.addActionListener(this); }
botonNo = new Button("no"); public void paint(Graphics g){
botonNo.addActionListener(this); g.drawString(msg,6,100);
botonOtro = new Button("otro"); }
botonOtro.addActionListener(this); }
add(botonSi);
add(botonNo);
add(botonOtro);
}
Applet que carga una imagen Previamente tendremos que copiar
la(s) imgenes en nuestro proyecto, las imgenes pueden ser bmp,
jpg o gif
Clase FONT
La funcin getFont obtiene la fuente de texto actual de dicho contexto
grfico.
La funcin drawString dibuja el string guardado en el objeto texto de la
clase String, y lo sita en la posicin cuyas coordenadas vienen dadas
por los dos nmeros enteros que le siguen.

En la siguiente porcin de cdigo, establecemos una fuente de texto,


dibujamos el texto, y reestablecemos la fuente de texto por defecto,
una operacin habitual que se realiza al programar un applet.
Font oldFont=getFont();
Font fuente=new Font("Monospaced", Font.BOLD, 36);
g.setFont(fuente);
g.drawString(texto, 100, 50);
g.setFont(oldFont);
g.drawString(otroTexto, 100, 70);
Clase FONT
Para obtener el nombre de las fuentes de texto
disponibles se escribe el siguiente cdigo;

String[] nombreFuentes=getToolkit().getFontList();

for(int i=0; i<nombreFuentes.length; i++)


{
System.out.println(nombreFuentes[i]);
}

You might also like