Applets Java
En esta p�gina:
Clase Graphics La clase Graphics dispone de m�s m�todos aparte de drawString, que nos permitir�n dibujar figuras e im�genes. M�todos de dibujo Mientras no se especifique, consideraremos que todos los par�metros son enteros:
Por ejemplo, podemos dibujar lo siguiente: Figurines.java/** * 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 en un aburrido blanco y negro... 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 Color.black (negro), Color.blue (a�il), Color.cyan (azul), Color.darkGray (gris claro), Color.gray (gris), Color.green (verde), Color.lightGray (verde claro), Color.magenta (magenta), Color.orange (naranja), Color.pink (rosa), Color.red (rojo), Color.white (blanco) y Color.yellow (amarillo). Pero tambi�n se pueden crear instancias de color por medio de constructores para definir colores menos comunes. Por ejemplo:
Cambiando el ejemplo anterior: FigurinesColor.java/** * Applet FigurinesColor * * <APPLET CODE="FigurinesColor.class" WIDTH="200" HEIGHT="70"></APPLET> */ import java.applet.Applet; import java.awt.*; public class FigurinesColor extends Applet { public void paint(Graphics g) { g.drawString("Adios, mundo cruel",20,20); g.setColor(Color.green); g.fillRoundRect(10,30,50,20,10,10); g.setColor(new Color(30,40,50,100)); g.fill3DRect(50,40,50,20,true); } } Manejo de im�genes A�n cuando podemos hacer cosas chulas con figuras, no estar�a de m�s poder hacer cosas con im�genes, que son bastante m�s espectaculares. Para hacerlo deberemos utilizaremos el siguiente m�todo: drawImage( Image img,int x,int y,ImageObserver observador )Vemos que necesitamos un objeto Image y otro ImageObserver y de esas cosas no sabemos todav�a... No vamos a ver estos objetos muy a fondo. ImageObserver es un interfaz (que un antepasado de Applet implementa) que nos ofrece informaci�n sobre la imagen seg�n la imagen se carga de la red. Por otro lado, Image es un objeto que representa a la imagen. Normalmente crearemos un objeto Image por medio del m�todo de Applet getImage():
Normalmente obtendremos esa direcci�n a partir de la p�gina donde est� la p�gina HTML o nuestro applet. Para averiguarlo disponemos de dos m�todos en la clase Applet:
Si deseamos obtener una URL distinta deberemos importar esa clase (java.net.URL) y crear uno pas�ndole una cadena como par�metro al constructor conteniendo la URL. Normalmente, se realiza el getImage() en el m�todo init() del applet, ya que en el momento en que ejecutemos este m�todo comenzar� la carga de im�genes desde Internet y eso conviene hacerlo cuanto antes. Para mostrar la imagen se utiliza el m�todo paint(), al igual que hemos hecho para pintar cosas. Por ejemplo, suponiendo que tengamos un fichero llamado home.jpg: Grafico.java/** * Applet Grafico * * <APPLET CODE="Grafico.class" WIDTH="200" HEIGHT="70"></APPLET> */ import java.applet.Applet; import java.awt.*; public class Grafico extends Applet { Image img; public void paint(Graphics g) { img = getImage(getDocumentBase(), "home.jpg"); } public void paint(Graphics g) { g.drawImage(img,x,y,this); } }
|