En �sta p�gina aprenderemos algo m�s sobre los Beans y BeanBox.
- Creando un Bean sencillo.
- Compilando y guardando el Bean en un archivo JAR.
- Cargaando el Bean en el ToolBox
- Arrastrando un ejemplar del Bean dentro del BeanBox.
- Inspeccionando las propiedades del Beans, los m�todos y los eventos.
- Generando un informe de introspecci�n.
Nuestro Bean se llamar� SimpleBean. Aqu� tienes los pasos para crearlo y verlo en el BeanBox.
- Escribir el c�digo de SimpleBean. Ponerlo en un fichero llamado SimpleBean.java, en cualquier directorio. Aqu� tienes el c�digo.
import java.awt.*; import java.io.Serializable; public class SimpleBean extends Canvas implements Serializable{ //Constructor sets inherited properties public SimpleBean(){ setSize(60,40); setBackground(Color.red); } }
SimpleBean desciende del componente java.awt.Canvas. Tambi�n implementa el interface java.io.Serializable, que es requerido por todos los beans. Seleccionar el color del fondo y el tama�o del componente es todo lo que hace SimpleBean.
- Asegurate de que la variable de entorno CLASSPATH apunta a todos ficheros .class (o .jar) necesarios.
- Compila el Bean:
javac SimpleBean.java
Esto produce el fichero de clase SimpleBean.class
- Crea un fichero de manifiesto. Utiliza tu editor de texto favorito para crear un fichero, que llamaremos manifest.tmp, que contenga el siguiente texto.
Name: SimpleBean.class Java-Bean: True
- Crea el fichero JAR. Este fichero contendr� el manifiesto y el fichero de clase SimpleBean.
jar cfm SimpleBean.jar manifest.tmp SimpleBean.class
- Carga el fichero JAR en el ToolBox. Despliega el men� File|LoadJar... Esto traer� un navegador de ficheros. Busca la posici�n del fichero SimpleBean.jar y seleccionalo. SimpleBean aparecer� en la parte inferior del ToolBox. (Observa que cuando arranca el BeanBox, todos los beans que haya en el directorio beans/jars se cargan autom�ticamente en el ToolBox).
- Arrastra un ejemplar de SimpleBean dentro del BeanBox. Pulsa sobre la palabra SimpleBean en el ToolBox. El cursor cambia a un punto de mira. Mueve el cursor al punto del BeanBox donde quieres situar el Bean y pulsa de nuevo el rat�n. SimpleBean aparecer� como un rect�ngulo pintado con un borde marcado. Esto borde significa que est� seleccionado. Las propiedades de SimpleBean aparecer�n en la hoja de propiedades.
Se puede redimensionar el SimpleBean, ya que desciende de Canvas, arrastrando una esquina de la ventana. Veras como el cursor cambia a un �ngulo recto cuando pasa sobre una esquina. Tambi�n se puede reposicionar dentro del BeanBox, arrastando desde cualquier parte del borde que no sea una esquina. Ver�s que el cursor cambia a una flechas cruzadas cuando pasa por estas posiciones.
�Makefiles de SimpleBean
Abajo tienes dos MakeFiles (Unix y Windows) configurados para crear SimpleBean.
# gnumake file CLASSFILES= SimpleBean.class JARFILE= SimpleBean.jar all: $(JARFILE) # Create a JAR file with a suitable manifest. $(JARFILE): $(CLASSFILES) $(DATAFILES) echo "Name: SimpleBean.class" >> manifest.tmp echo "Java-Bean: True" >> manifest.tmp jar cfm $(JARFILE) manifest.tmp *.class @/bin/rm manifest.tmp # Compile the sources %.class: %.java export CLASSPATH; CLASSPATH=. ; \ javac $< # make clean clean. /bin/rm -f *.class /bin/rm -f $(JARFILE)
Aqu� tienes la versi�n Windows de nmake.
# nmake file CLASSFILES= simplebean.class JARFILE= simplebean.jar all: $(JARFILE) # Create a JAR file with a suitable manifest. $(JARFILE): $(CLASSFILES) $(DATAFILES) jar cfm $(JARFILE) << manifest.tmp *.class Name: SimpleBean.class Java-Bean: True << .SUFFIXES: .java .class {sunw\demo\simple}.java{sunw\demo\simple}.class . set CLASSPATH=. javac $< clean. -del sunw\demo\simple\*.class -del $(JARFILE)
Se pueden utilizar estos makefiles como plantillas para crear los tuyos propios. Los makefiles de ejemplo, situados en el directorio beans/demo tambi�n te ense�an como utilizar los makefiles para construir y mantener tus Beans.
�Inspeccionar las Propiedades y Eventos de SimpleBean
La hoja de propiedades muestra las propiedades del Bean seleccionado. Si seleccionamos SimpleBean, la hoja de propiedades mostrar� cuatro propiedades: foreground, background, font, y name. Nosotros no declaramos propiedades en SimpleBean (lo ver�s m�s adelante), por eso estas propiedades son heredadas de Canvas. Pulsando sobre cada propiedad se lanza un editor de propiedad. El BeanBox proporcionar editores por defecto para los tipos primitivos, adem�s de los tipos Font y Color. Puedes encontrar los fuentes para estos editores de propiedades en beans/apis/sun/beans/editors.
Los Beans se comunican unos con otros enviando y recibiendo notificaciones de eventos. Para ver los eventos que SimpleBean puede enviar, elige el men� Edit|Events. Se mostrar� una lista de eventos agrupados por interfaces. Bajo cada grupo de interface hay una lista de m�todos de evento. Todos estos son heredados de Canvas.
Podr�s aprender m�s sobre propiedades y eventos en pr�ximas secciones.
�Generar un Informe de Introspecci�n del Bean
La introspecci�n es el proceso de descubrir las caracter�sticas de un Bean en tiempo de dise�o por uno de estos dos m�todos.
- Reflexi�n de bajo nivel, que utiliza patrones de dise�o para descubrir las caracter�sticas del Bean.
- Examinando una clase asociadd de informaci�n del Bean que describe expl�citamente las caracter�sticas del Bean.
Se puede generar un informe de introspecci�n elegiendo el men� Edit|Report. El informe lista los eventos, las propiedades y los m�todos del Bean adem�s de sus caracter�sticas.
Por defecto los informes son enviados a la salida est�ndard del int�rprete Java, que es la ventana donde has arrancado BeanBox. Se puede redireccionar el informe a un fichero cambiando el comando del int�rprete Java en beanbox/run.sh o run.bat.
java sun.beanbox.BeanBoxFrame > beanreport.txt