Nuestro Bean se llamará SimpleBean. Aquí tienes los pasos para crearlo y verlo en el BeanBox:
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.
javac SimpleBean.java
Esto produce el fichero de clase SimpleBean.class
Name: SimpleBean.class
Java-Bean: True
jar cfm SimpleBean.jar manifest.tmp SimpleBean.class
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.
Aquí tienes la versión Windows de nmake:
# 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)
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.
# 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)
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.
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