SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
APPLETS
Applet
Un applet es una pequeña aplicación accesible en un
servidor Internet, que se transporta por la red, se
instala automáticamente 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
página web ya construida. Sin embargo, mientras
programemos el applet, será recomendable utilizar el
programa que viene incluido en el JDK para probarlos.
• Este método siempre se reescribe. Se llama cuando
se carga el applet por primera vez. Por simplicidad,
en los ejemplos que vamos a mostrar en este tutorial
sólo usamos este método.
init()
• Se llama cada vez que se visita o se recarga el applet.
start()
• Se llama para detener la ejecución del applet, cuando
se abandona la página.
stop()
• Se llama cuando ya no se va a ejecutar más el applet.
destroy()
Métodos de la clase Applet
La clase Applet tiene varios métodos que deben sobreescribir las clases que
hereden de ella:
• Se llama automáticamente si hay que refrescar la
ventana o zona de dibujo del applet.
• Por defecto sólo la pinta con fondo gris.
paint(Graphics
g)
• Es llamado por el sistema para actualizar las ventanas
• Por defecto pinta el área completa de dibujo con el
color Java 50 de fondo
• Asigna el color del fondo
• Invoca el método paint()
update(Graphis
g)
• Redibuja el contenido del componente
repaint()
Ciclo de Vida de un Applet
Inclusión de un applet en código html
<HTML>
<BODY>
<APPLET CODE="AdiosMundo.class"
WIDTH="200" HEIGHT="70">
</APPLET>
</BODY>
</HTML>
La clase Graphics
La clase Graphics dispone de más métodos, que nos permitirán
dibujar figuras e imágenes.
• Escribe un texto a partir de las
coordenadas (x,y).
drawString(String texto,x,y)
• Dibuja una línea entre las coordenadas (x1,y1) y
(x2,y2).
drawLine(x1,y1,x2,y2)
• Son tres métodos encargados de dibujar, rellenar y
limpiar, respectivamente, un rectángulo cuya
esquina superior izquierda está en las coordenadas
(x,y) y tienen el ancho y alto especificados.
drawRect(x,y,ancho,alto)
fillRect(x,y,ancho,alto)
clearRect(x,y,ancho.alto)
La clase Graphics
• Equivalentes a los anteriores, pero
con las esquinas redondeadas. La
forma y tamaño de dichas
esquinas viene dada por los dos
últimos parámetros.
drawRoundRect(x,y,ancho,alto,anchoArco,alto
Arco)
fillRoundRect(x,y,ancho,alto,anchoArco,altoAr
co)
• Equivalentes a los primeros, pero
dibujan un borde para dar la
sensación de que está elevado o
hundido (dependiendo del valor del
último parámetro).
draw3DRect(x,y,ancho,alto,boolean elevado)
fill3DRect(x,y,ancho,alto,boolean elevado)
• Dibujan una elipse con esquina
izquierda superior en (x,y) y el ancho y
alto especificados. Si son iguales
dibujará un círculo. )
drawOval(x,y,ancho,alto)
fillOval(x,y,ancho,alto)
La clase Graphics
• Dibuja una arco cuyo primer vértice
está en (x,y) y el segundo en
(x+ancho,y+alto). La forma del
mismo vendrá dado por los dos
últimos parámetros.
drawArc(x,y,ancho,alto,anguloInicio,anguloArc
o)
fillArc(x,y,ancho,alto,anguloInicio,anguloArco)
• Dibuja un polígono cerrado del
número de puntos especificado en el
último parámetro.
drawPolygon(int[] coordenadasX,int[]
coordenadasY,numCoordenadas)
fillPolygon(int[] coordenadasX,int[]
coordenadasY,numCoordenadas)
• Copia el área cuya esquina
superior izquierda está en
(xOrigen,yOrigen) y de ancho y
alto especificados a la zona que
comienza en (xDest, yDest).
copyArea(xOrigen,yOrigen,ancho,alto,xDest,yDest)
Ejemplo
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);
}
}
/**
* Applet Figurines
*
* <APPLET CODE="Figurines.class" WIDTH="200"
HEIGHT="70"></APPLET>
*/
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 método setColor(),
que recibe un único parámetro de tipo Color.
La clase Color dispone de varias propiedades estáticas que contienen los
colores más comunes; son:
Clase Color
La clase Color dispone de varias propiedades estáticas que
contienen los colores más 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 también 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 deberán estar en un rango que va de 0 a 255.
Color c = new Color(int rojo, int verde, int azul, int alfa)
Idéntico al anterior, pero añade un canal alfa que indica el grado de
transparencia. Sólo 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 tamaño.
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 estáticos 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 función setFont de la clase Graphics establece la fuente de texto en el
contexto gráfico 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
método 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 presión de
un boton cualquiera y exhibir algún mensaje dibujado en la ventana del
applet.
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class Botones01 extends
Applet implements ActionListener
{
String msg = " ";
Button botonSi,botonNo,botonOtro;
public void init (){
botonSi = new Button("si");
botonSi.addActionListener(this);
botonNo = new Button("no");
botonNo.addActionListener(this);
botonOtro = new Button("otro");
botonOtro.addActionListener(this);
add(botonSi);
add(botonNo);
add(botonOtro);
}
public void actionPerformed(ActionEvent
evento){
if(evento.getSource()== botonSi)
msg = ("ha pulsado el boton si");
else if(evento.getSource()==botonNo)
msg = "ha pulsado el boton no";
else
if(evento.getSource()==botonOtro)
msg = "ha pulsado boton otro";
repaint();
}
public void paint(Graphics g){
g.drawString(msg,6,100);
}
}
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
Clase FONT
La función getFont obtiene la fuente de texto actual de dicho contexto
gráfico.
La función drawString dibuja el string guardado en el objeto texto de la
clase String, y lo sitúa en la posición cuyas coordenadas vienen dadas
por los dos números enteros que le siguen.
En la siguiente porción de código, establecemos una fuente de texto,
dibujamos el texto, y reestablecemos la fuente de texto por defecto,
una operación 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 código;
String[] nombreFuentes=getToolkit().getFontList();
for(int i=0; i<nombreFuentes.length; i++)
{
System.out.println(nombreFuentes[i]);
}

Más contenido relacionado

Similar a Applets.pdf

Similar a Applets.pdf (20)

Applets
AppletsApplets
Applets
 
Applets
AppletsApplets
Applets
 
Programación en Java: Applets
Programación en Java: AppletsProgramación en Java: Applets
Programación en Java: Applets
 
Comp graf clase 3
Comp graf clase 3Comp graf clase 3
Comp graf clase 3
 
Foro tematico unidad 1
Foro tematico unidad 1Foro tematico unidad 1
Foro tematico unidad 1
 
Intro opengl
Intro openglIntro opengl
Intro opengl
 
Excel y visual basic
Excel y visual basicExcel y visual basic
Excel y visual basic
 
Conceptos basicos de graficacion en c++(2004 i)
Conceptos basicos de graficacion en c++(2004 i)Conceptos basicos de graficacion en c++(2004 i)
Conceptos basicos de graficacion en c++(2004 i)
 
Manual en equipo
Manual en equipoManual en equipo
Manual en equipo
 
Manual en equipo
Manual en equipoManual en equipo
Manual en equipo
 
Ejercicios de programacion if - switch-case
Ejercicios de programacion   if  -   switch-caseEjercicios de programacion   if  -   switch-case
Ejercicios de programacion if - switch-case
 
Luis Gamboa
Luis  GamboaLuis  Gamboa
Luis Gamboa
 
ESTRUCTURAS ARRAYS Y DATOS C++
ESTRUCTURAS ARRAYS Y DATOS C++ESTRUCTURAS ARRAYS Y DATOS C++
ESTRUCTURAS ARRAYS Y DATOS C++
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Introduccion a awt
Introduccion a awtIntroduccion a awt
Introduccion a awt
 
Metodo constructor de una clase JAVA
Metodo constructor de una clase JAVAMetodo constructor de una clase JAVA
Metodo constructor de una clase JAVA
 
2 f programas
2 f programas2 f programas
2 f programas
 
2 f programas
2 f programas2 f programas
2 f programas
 
Processing
ProcessingProcessing
Processing
 
Manual de prácticas java 2015
Manual de prácticas java 2015Manual de prácticas java 2015
Manual de prácticas java 2015
 

Applets.pdf

  • 2. Applet Un applet es una pequeña aplicación accesible en un servidor Internet, que se transporta por la red, se instala automáticamente 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 página web ya construida. Sin embargo, mientras programemos el applet, será recomendable utilizar el programa que viene incluido en el JDK para probarlos.
  • 3. • Este método siempre se reescribe. Se llama cuando se carga el applet por primera vez. Por simplicidad, en los ejemplos que vamos a mostrar en este tutorial sólo usamos este método. init() • Se llama cada vez que se visita o se recarga el applet. start() • Se llama para detener la ejecución del applet, cuando se abandona la página. stop() • Se llama cuando ya no se va a ejecutar más el applet. destroy() Métodos de la clase Applet La clase Applet tiene varios métodos que deben sobreescribir las clases que hereden de ella:
  • 4. • Se llama automáticamente si hay que refrescar la ventana o zona de dibujo del applet. • Por defecto sólo la pinta con fondo gris. paint(Graphics g) • Es llamado por el sistema para actualizar las ventanas • Por defecto pinta el área completa de dibujo con el color Java 50 de fondo • Asigna el color del fondo • Invoca el método paint() update(Graphis g) • Redibuja el contenido del componente repaint()
  • 5. Ciclo de Vida de un Applet
  • 6. Inclusión de un applet en código html <HTML> <BODY> <APPLET CODE="AdiosMundo.class" WIDTH="200" HEIGHT="70"> </APPLET> </BODY> </HTML>
  • 7. La clase Graphics La clase Graphics dispone de más métodos, que nos permitirán dibujar figuras e imágenes. • Escribe un texto a partir de las coordenadas (x,y). drawString(String texto,x,y) • Dibuja una línea entre las coordenadas (x1,y1) y (x2,y2). drawLine(x1,y1,x2,y2) • Son tres métodos encargados de dibujar, rellenar y limpiar, respectivamente, un rectángulo cuya esquina superior izquierda está en las coordenadas (x,y) y tienen el ancho y alto especificados. drawRect(x,y,ancho,alto) fillRect(x,y,ancho,alto) clearRect(x,y,ancho.alto)
  • 8.
  • 9. La clase Graphics • Equivalentes a los anteriores, pero con las esquinas redondeadas. La forma y tamaño de dichas esquinas viene dada por los dos últimos parámetros. drawRoundRect(x,y,ancho,alto,anchoArco,alto Arco) fillRoundRect(x,y,ancho,alto,anchoArco,altoAr co) • Equivalentes a los primeros, pero dibujan un borde para dar la sensación de que está elevado o hundido (dependiendo del valor del último parámetro). draw3DRect(x,y,ancho,alto,boolean elevado) fill3DRect(x,y,ancho,alto,boolean elevado) • Dibujan una elipse con esquina izquierda superior en (x,y) y el ancho y alto especificados. Si son iguales dibujará un círculo. ) drawOval(x,y,ancho,alto) fillOval(x,y,ancho,alto)
  • 10. La clase Graphics • Dibuja una arco cuyo primer vértice está en (x,y) y el segundo en (x+ancho,y+alto). La forma del mismo vendrá dado por los dos últimos parámetros. drawArc(x,y,ancho,alto,anguloInicio,anguloArc o) fillArc(x,y,ancho,alto,anguloInicio,anguloArco) • Dibuja un polígono cerrado del número de puntos especificado en el último parámetro. drawPolygon(int[] coordenadasX,int[] coordenadasY,numCoordenadas) fillPolygon(int[] coordenadasX,int[] coordenadasY,numCoordenadas) • Copia el área cuya esquina superior izquierda está en (xOrigen,yOrigen) y de ancho y alto especificados a la zona que comienza en (xDest, yDest). copyArea(xOrigen,yOrigen,ancho,alto,xDest,yDest)
  • 11. Ejemplo 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); } } /** * Applet Figurines * * <APPLET CODE="Figurines.class" WIDTH="200" HEIGHT="70"></APPLET> */
  • 12. 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 método setColor(), que recibe un único parámetro de tipo Color. La clase Color dispone de varias propiedades estáticas que contienen los colores más comunes; son:
  • 13. Clase Color La clase Color dispone de varias propiedades estáticas que contienen los colores más 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).
  • 14. Pero también 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 deberán estar en un rango que va de 0 a 255. Color c = new Color(int rojo, int verde, int azul, int alfa) Idéntico al anterior, pero añade un canal alfa que indica el grado de transparencia. Sólo funciona con el JDK 1.2.
  • 15. 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
  • 17. 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); } }
  • 18. 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);
  • 19. 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 tamaño. 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 estáticos 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 función setFont de la clase Graphics establece la fuente de texto en el contexto gráfico g. g.setFont(fuente);
  • 20. public void init() { this.setSize(300,300); }
  • 21. 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; } }
  • 22. 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); ... } }
  • 23. Dibujar circulos aleatoriamente dentro de la ventana. Solamente utiliza el método 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); } } }
  • 24. Las siguientes figuras ilustran la interfaz, desde el inicio hasta la presión de un boton cualquiera y exhibir algún mensaje dibujado en la ventana del applet.
  • 25. import java.awt.*; import java.awt.event.*; import java.applet.*; public class Botones01 extends Applet implements ActionListener { String msg = " "; Button botonSi,botonNo,botonOtro; public void init (){ botonSi = new Button("si"); botonSi.addActionListener(this); botonNo = new Button("no"); botonNo.addActionListener(this); botonOtro = new Button("otro"); botonOtro.addActionListener(this); add(botonSi); add(botonNo); add(botonOtro); } public void actionPerformed(ActionEvent evento){ if(evento.getSource()== botonSi) msg = ("ha pulsado el boton si"); else if(evento.getSource()==botonNo) msg = "ha pulsado el boton no"; else if(evento.getSource()==botonOtro) msg = "ha pulsado boton otro"; repaint(); } public void paint(Graphics g){ g.drawString(msg,6,100); } }
  • 26. 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
  • 27. Clase FONT La función getFont obtiene la fuente de texto actual de dicho contexto gráfico. La función drawString dibuja el string guardado en el objeto texto de la clase String, y lo sitúa en la posición cuyas coordenadas vienen dadas por los dos números enteros que le siguen. En la siguiente porción de código, establecemos una fuente de texto, dibujamos el texto, y reestablecemos la fuente de texto por defecto, una operación 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);
  • 28. Clase FONT Para obtener el nombre de las fuentes de texto disponibles se escribe el siguiente código; String[] nombreFuentes=getToolkit().getFontList(); for(int i=0; i<nombreFuentes.length; i++) { System.out.println(nombreFuentes[i]); }