1. 编写Bean的源程序SimpleBean.java如下:
import java.awt.*;
import java.io.Serializable;
public class SimpleBean extends Canvas implements Serializable
{
//该bean从java.awt.Canvas派生,所以具有了Canvas的所有属性和方法
public SimpleBean(){
setSize(60,40); //设置该bean的尺寸
setBackground(Color.red); //设置该bean的背景颜色
}
}
SimpleBean从java.awt.Canvas组件派生,所以是一个可视化的bean,并且实现了java.io.Serializable接口,这个接口是所有Bean都必须实现的,因为SimpleBean具有Canvas的所有属性和方法,如背景色和组件尺寸等属性,并可以调用相应的方法设置这些属性。
2. 编译源程序:
javac SimpleBean.java产生字节码文件SimpleBean.class。
3. 编写制作(nmake)文件
这个nmake文件会编译这个SimpleBean组件并会产生一个JAR文件。将编写好的makefile文件存储为simpe.gmk(UNIX)或simple.mk(windows),并与你的SimpleBean.class放在同一个目录下,nmake文件清单如下:
#gmumake文件
CLASSFILES= SimpleBean.class
JARFILE= SimpleBean.jar
all: $(JARFILE)
# 创建一个带有适当说明文件(manifest)的JAR文件
$(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
# 编译源程序
%.class: %.java
export CLASSPATH; CLASSPATH=. ; \
javac $<
#删除产生的中间文件
clean:
/bin/rm -f *.class
/bin/rm -f $(JARFILE)
# nmake 文件
CLASSFILES= simplebean.class
JARFILE= simplebean.jar
all: $(JARFILE)
# 创建一个带有适当说明文件(manifest)的JAR文件
$(JARFILE): $(CLASSFILES) $(DATAFILES)
jar cfm $(JARFILE) <<manifest.tmp *.class
Name: SimpleBean.class
Java-Bean: True
<<
#将类打包,"Java-Bean:True"可以使得类出现在ToolBox窗口中
.SUFFIXES: .java .class
{sunw\demo\simple}.java{sunw\demo\simple}.class :
set CLASSPATH=.
javac $<
#清除中间文件
clean:
-del sunw\demo\simple\*.class
-del $(JARFILE)
4. 运行makefile文件
对于UNIX,运行gnumake simple.gmk
对于windows,运行nmake -f simple.mk
会在当前目录下创建一个JAR文件,这个JAR文件里包含了这个bean的信息。
本小节我们完成了一个很典型的JavaBean,其实就是一个有一定特殊规则的Java类,它有一些特殊的地方比如要实现某些接口类,不过归根结底它还是一个Java类,它可以使用任何Java语言里提供的功能比如说继承于Canvas等。而上面我们提供的makefile则可以作为模板,你以后要编写你自己的bean的makefile的时候只需要修改上面提供的makefile就可以了。 |