基于Swing开发系统中简化代码和对象生命周期管理的设计方法

在基于 Java 开发的电信级系统中,会有大量的 GUI 界面设计工作,但众所周知 Java 的目前的 IDE 解决方案对 Swing 界面开发支持的友好性不尽如人意,要做出友好的界面还是要耗费大量的时间,对有些模块可能比业务逻辑的工作量还要大。所以,现在对于 GUI 界面比较多的系统中,很多公司都会用到界面引擎和 XML 方式来自动生成界面,优点在于:

1、使用 XML 文档描述界面,通过界面生成引擎来解释 XML 文档并最终产生显示的界面。这使得开发界面更加容易,界面风格更加一致,维护更加方便。

2、实现了功能代码和界面代码的分离,使它们之间的耦合性减小,这也降低了故障发生的概率,提高了软件的重用率,减少了代码 Java 代码数量。

其基本实现原理见下图 1:

图 1.XML 文件自动生成界面的原理

具体的界面引擎代码看 GUIEngine.java 文件。

我们给一个简单的界面描述文件的范例见如下清单 1:

清单 1. XML 界面描述文件实例

<?xml version="1.0" encoding="GB2312"?> <gui_desc> <init> <window_w
idth>260</window_width> <window_height>230</window_height> </init> <component type="javax.swing.JLabel"> <height>45</height> <label>UPS Type</label> <">name>labeltest</name> <positionY>12</positionY> <width>230</width> <positionX>12</positionX> </component> <component type="javax.swing.JTextField"> <height>45</height> <default_value>0</default_value> <name>txttest</name> <positionY>67</positionY> <width>230</width> <positionX>12</positionX> </component> <component type="javax.swing.JButton"> <name>btnOK</name> <width>91</width> <action>OutdoorUPS_OkAction</action> <disable /> <positionY>132</positionY> <positionX>12</positionX> <icon>ok.gif</icon> <label> 确定 </label> <height>23</height> </component> <component type="javax.swing.JButton"> <name>btnCancel</name> <width>91</width> <action>CancelAction</action> <disable /> <positionY>132</positionY> <positionX>112</positionX> <icon>cancel.gif</icon> <label> 取消 </label> <height>23</height> </component> </gui_desc>

通过程序创建显示出来的 Swing 界面如下图 2:

图 2 .XML 描述文件生成的界面

程序调用逻辑如下:

请单 2. 根据描述文件创建界面程序清单

/* 创建一个主程序框架 */ JFrame jf=new JFrame("test"); /* 传递界面描述文件,初始化界面引擎实例 */ GUIEngine ge=new GUIEngine("Outdoor_UPS.xml"); ge.createJDialog(jf, "hello world!!").setVisible(false);

时间: 2024-10-30 02:36:55

基于Swing开发系统中简化代码和对象生命周期管理的设计方法的相关文章

win7纯净版32位系统中简化打开所需控制面板目标界面的设置方法

  1.首先双击打开win7系统中的计算机,然后点击工具--文件夹选项,在查看标签页中设置显示已知文件类型的扩展名; 2.接着在桌面上鼠标右击选择"新建--文件夹",然后给新建的文件夹重命名为"完全控制面板.{ED7BA470-8E54-465E-825C-99712043E01C}"; 3.双击打开"完全控制面板",可以看到其中的内容; 4.比如当用户双击打开"管理BitLocker",即会进入Bitlocker管理界面,对

Java开发平台中的生命周期管理

对象的生命周期没有大家想的那么复杂.其实其就是回答了两个简单的问题.什么时候需要创建对象? 什么时候把对象消亡?这两个问题解决了,那么对象的生命周期问题也就解决了. 一.传统的对象生命周期管理方法. 为了对Java开发平台中的生命周期管理方法有一个更加深刻的理解,笔者认为大家需要对传统的生命 周期管理方法先有一个了解.因为这有助于大家有一个相互的对比,从而会对Java语言中的生命周期管理 方法会有一个比较直观的印象. 在传统的编程语言中,如C语言,其考虑对象的生命周期,主要是从对象与应用程序的执

Java基于swing实现的弹球游戏代码_java

本文实例讲述了Java基于swing实现的弹球游戏代码.分享给大家供大家参考. 主要功能代码如下: 复制代码 代码如下: package Game; import java.awt.Graphics; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.Random;

云服务器-求助啊!基于智能家居系统中,怎么在云计算平台实现?

问题描述 求助啊!基于智能家居系统中,怎么在云计算平台实现? 当手机发送设置指令时是怎么一个流程?信息先传到云服务器,然后再传到家庭中心?云服务器是如何寻址找到家庭网关的?可以用阿里云这样的云服务来做云服务器吗?需要在云服务器上编写什么程序吗? 模型: 手机终端-----云服务器-----家庭网关 解决方案 一个是客户端轮询,一个是客户端和服务器端先建立连接(类似登录qq登录),然后服务器端主动发送消息到客户端.无论哪种方法,都是你的客户端必须主动连上服务端,而不是服务器找客户端. 云服务器和一

java基于swing实现的五子棋游戏代码_java

本文实例讲述了java基于swing实现的五子棋游戏代码.分享给大家供大家参考. 主要功能代码如下: 复制代码 代码如下: import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Main extends JFrame implements ActionListener{         private static final long serialVersionUID = 1L;      

win7系统中玩梦幻西游总是一卡一卡的解决方法

win7系统中玩梦幻西游总是一卡一卡的解决方法   故障原因: 1.显卡驱动. 2.梦幻锦衣系统的垃圾代码解决方式. 3.硬盘IO和显卡. 解决方法: 1.放弃360,或者每次上游戏之前都refresh2.0一次; 2.根据技术牛人的方法,删除梦幻西游根目录下v3d_cache文件夹中的所有文件.[这个要求每次登录游戏前都删除]. 我的解决办法是: 1.删除梦幻西游根目录下v3d_cache文件夹中v3d.dat; 2.右击新建文本文档,重命名为v3d.dat[这里注意后缀扩展名也要更改,如果你

浅谈Android App开发中Fragment的创建与生命周期_Android

Fragment是activity的界面中的一部分或一种行为.你可以把多个Fragment们组合到一个activity中来创建一个多面界面并且你可以在多个activity中重用一个Fragment.你可以把Fragment认为模块化的一段activity,它具有自己的生命周期,接收它自己的事件,并可以在activity运行时被添加或删除. Fragment不能独立存在,它必须嵌入到activity中,而且Fragment的生命周期直接受所在的activity的影响.例如:当activity暂停时

浅谈Android App开发中Fragment的创建与生命周期

Fragment是activity的界面中的一部分或一种行为.你可以把多个Fragment们组合到一个activity中来创建一个多面界面并且你可以在多个activity中重用一个Fragment.你可以把Fragment认为模块化的一段activity,它具有自己的生命周期,接收它自己的事件,并可以在activity运行时被添加或删除. Fragment不能独立存在,它必须嵌入到activity中,而且Fragment的生命周期直接受所在的activity的影响.例如:当activity暂停时

Win7系统中恢复桌面上我的文档图标的方法

Win7系统中恢复桌面上我的文档图标的方法 1.先在Win7系统桌面上,右键点击鼠标,接着会进入"个性化"操作界面.然后在个性化窗口上,点击左侧中的"更改桌面图标"; 2.接着在"用户的文件"复选框内打上勾,再点击确定按钮,然后在桌面上刷新一下;