问题背景
在基于 java 开发的电信级系统中,会有大量的 GUI 界面设计工作,但众所周知 Java 的目前的 IDE 解决方案对 Swing 界面开发支持的友好性不尽如人意,要做出友好的界面还是要耗费大量的时间,对有些模块可能比业务 逻辑的工作量还要大。所以,现在对于 GUI 界面比较多的系统中,很多公司都会用到界面引擎和 XML 方式来自动生成界面 ,优点在于:
1、使用 XML 文档描述界面,通过界面生成引擎来解释 XML 文档并最终产生显示的界面。这使得开发 界面更加容易,界面风格更加一致,维护更加方便。
2、实现了功能代码和界面代码的分离,使它们之间的耦合性减 小,这也降低了故障发生的概率,提高了软件的重用率,减少了代码 Java 代码数量。
其基本实现原理见下图 1:
图 1.XML 文件自动生成界面的原理
具体的界面引擎代码看 GUIEngine.java 文 件。
我们给一个简单的界面描述文件的范例见如下清单 1:
清单 1. XML 界面描述文件实例
260
230
45
UPS Type
labeltest
12
230
12
45
0
txttest
67
230
12
btnOK
91
OutdoorUPS_OkAction
132
12
ok.gif
确定
23
btnCancel
91
CancelAction
132
112
cancel.gif
取消
23
通过程序创建显示出来的 Swing 界面如下图 2:
图 2 .XML 描述文件生成的界面
¥29.00
¥399.00
¥498.00
¥299.00