
Java控件设计入门
发布时间:2006-09-19 18:18:23 来源:BEA中国 网友评论 0 条
下面的步骤是Windows平台下编译控件测试代码的主要步骤。
C:HelloWorld> ant run_tests
测试类成功执行后,命令行窗口中的显示内容如图5所示。

图5 控件测试类执行效果
实例简单分析
从上面的例子中,我们可以看到,除了控件变量声明比较特殊之外,其他的并没有什么差异。我们来简单的分析一下控件变量声明和实例化过程。
15.
16.public HelloWorldControlBean _bean;
上面这两行代码是Junit单元测试中用于实例化控件的代码。
15行中的是控件架构中提供的注释,表明接下来的这行变量声明是控件变量的声明。
16行中,我们声明了一个变量,他的类型是HelloWorldControlBean。请注意,我们开发例子时创建的公共接口是HelloWorldControl,接口实现类是HelloWorlControlImpl。那么HelloWorldControlBean是什么?又是从哪里来的呢?答案是HelloWorldControlBean是“HelloWorld!”例子中控件的属性包装器类,它是控件编译过程中自动生成的,自动命名规则是“%控件公共接口名称%”+”Bean”。
所有控件都可以直接使用类似的代码、声明式实例化方式进行实例化,控件架构在控件调用时自动生成被注释控件的实例。
结束语
J2EE架构中提供超过10种、可用于实际应用开发环境的技术和资源如EJB、WebServices等,虽然这些技术和资源能够为我们提供更加广泛的选择范围,然而要学会如何使用客户端去访问这些不同形式的技术却成为开发者的难题。
控件(Controls)架构为解决这个难题提供了一种可行的方式。在控件架构中,我们使用控件(Control)来封装企业资源访问的具体细节,为开发者提供统一的访问方式。
本文中首先简单的介绍了控件的基本原理,然后通过”Hello World!”的例子演示了开发、测试控件的基本步骤。当然,这个简单的例子还不足以体现控件架构的巨大威力。想了解更多的关于控件的知识,请关注作者后续的文章。
- 修改%HELLOWORLD_HOME%目录下的build.properties文件。修改后的文件内容如清单6。
清单6 build.properties1. # 请将beehive.home的属性修改为您安装Beehive的目录
2. beehive.home=E:/MasteringBeehive/apache-beehive-1.0.1
3.
4. # 请将junit.home的属性修改为您安装junit的目录
5. junit.home=F:/OpenSource/junit3.8.2 - 修改%HELLOWORLD_HOME%目录的build.xml文件。
增加新的path元素” test.classpath”,增加新的任务”build_tests”和”run_tests”。修改后的文件内容如清单7。
清单7 build.xml1. <project name="controls_helloworld" default="usage" basedir=".">
2.
3. <property environment="os" />
4. <property file="build.properties" />
5. <import file="/beehive-imports.xml" />
6. <import file="/ant/beehive-tools.xml" />
7.
8. <property name="source.dir" location="/src" />
9. <property name="test.source.dir" location="/test" />
10. <property name="build.dir" location="/build" />
11. <property name="build.classes" location="/bin" />
12. <property name="build.beansrc" location="/beansrc" />
13. <property name="build.jar" value="mycontrols.jar" />
14.
15. <path id="build.classpath">
16. <pathelement path="" />
17. <path refid="controls.dependency.path" />
18. </path>
19.
20. <path id="test.classpath">
21. <pathelement path="./build/mycontrols.jar" />
22. <pathelement path="/junit.jar" />
23. <pathelement path="./lib/BeehiveForJUnit.jar" />
24. <fileset dir="/lib/common">
25. <include name="**/*.jar"/>
26. </fileset>
27. <path refid="build.classpath" />
28. </path>
29.
30. <target name="clean" description="Delete all generated files">
31. <delete dir="" />
32. <delete dir="" />
33. <delete file="velocity.log" />
34. </target>
35.
36. <target name="build" description="Build control sources">
37. <mkdir dir="" />
38. <mkdir dir="" />
39.
40. <build-controls srcdir="" destdir="" tempdir="" classpathref="build.classpath" />
41.
42. <control-jar destfile="/" basedir="" />
43. </target>
44.
45. <target name="build_tests" description="Build control tests">
46. <mkdir dir="" />
47. <mkdir dir="" />
48.
49. <build-controls srcdir="" destdir="" tempdir="" classpathref="test.classpath" />
50. </target>
51.
52. <target name="run_tests" description="Run control tests">
53. <java classname="org.vivianj.beehive.controls.examples.unittest.HelloWorldControlTest"
classpathref="test.classpath" />
54. </target>
55.
56. <target name="usage" description="Print the usage for this build.xml">
57. <echo message="" />
58. <echo message="" />
59. <echo message="Controls Project Template Build file" />
60. <echo message="" />
61. <echo message="" />
62. <echo message="----------------------------------------------------------------" />
63. <echo message="| Standard Targets |" />
64. <echo message="----------------------------------------------------------------" />
65. <echo message="clean - Delete all generated files" />
66. <echo message="build - Build control sources" />
67. <echo message="build_tests - Build control tests" />
68. <echo message="run_tests - Runs control tests" />
69. <echo message="----------------------------------------------------------------" />
70. </target>
71.
72. </project> - 编译控件测试类
我们可以在命令行中进入%HELLOWORLD_HOME%目录下,设置系统环境后运行下面的脚本编译新创建的测试类。
C:HelloWorld> ant build_tests - 运行测试类
C:HelloWorld> ant run_tests
测试类成功执行后,命令行窗口中的显示内容如图5所示。

图5 控件测试类执行效果
实例简单分析
从上面的例子中,我们可以看到,除了控件变量声明比较特殊之外,其他的并没有什么差异。我们来简单的分析一下控件变量声明和实例化过程。
15.
16.public HelloWorldControlBean _bean;
上面这两行代码是Junit单元测试中用于实例化控件的代码。
15行中的是控件架构中提供的注释,表明接下来的这行变量声明是控件变量的声明。
16行中,我们声明了一个变量,他的类型是HelloWorldControlBean。请注意,我们开发例子时创建的公共接口是HelloWorldControl,接口实现类是HelloWorlControlImpl。那么HelloWorldControlBean是什么?又是从哪里来的呢?答案是HelloWorldControlBean是“HelloWorld!”例子中控件的属性包装器类,它是控件编译过程中自动生成的,自动命名规则是“%控件公共接口名称%”+”Bean”。
所有控件都可以直接使用类似的代码、声明式实例化方式进行实例化,控件架构在控件调用时自动生成被注释控件的实例。
结束语
J2EE架构中提供超过10种、可用于实际应用开发环境的技术和资源如EJB、WebServices等,虽然这些技术和资源能够为我们提供更加广泛的选择范围,然而要学会如何使用客户端去访问这些不同形式的技术却成为开发者的难题。
控件(Controls)架构为解决这个难题提供了一种可行的方式。在控件架构中,我们使用控件(Control)来封装企业资源访问的具体细节,为开发者提供统一的访问方式。
本文中首先简单的介绍了控件的基本原理,然后通过”Hello World!”的例子演示了开发、测试控件的基本步骤。当然,这个简单的例子还不足以体现控件架构的巨大威力。想了解更多的关于控件的知识,请关注作者后续的文章。
推荐阅讯
- Java入门需掌握的30个基本概念
- JBuilder2005实现重构之升级到JDK5.0
- 新一代Java技术即将出现
- 利用Java Applet编程实现动画特技(1)
- Java中文问题详解,底层编码解剖
- Java核心类库GNU Classpath 0.90发布
- Java学习从入门到精通(附FAQ)
- 用Java事件处理机制实现录制回放功能(1)
- 跨越边界: Java 模型以外的类型策略
- Java 技术与.NET 的集成将打破SOA 应用壁垒
阅读排行
- 1.Java连接SQL Server 2000
- 2.Java文件操作详解
- 3.Java控件设计入门
- 4.Java操作Excel电子表格
- 5.Java: JNI完全手册
- 6.Java命令行简介
- 7.开发J2EE应用应遵循的几点原则
- 8.Servlet与Javabean配置
- 9.Java规则引擎与其API应用详解
- 10.CLASSPATH详解
专题教程
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
- Picasa中文版_Picasa教程 专题:清除流氓软件
- Firefox专题 seo搜索引擎优化专区
- 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
