Swing GUI 案例 - 3. 程序组织 原则和技巧

            Swing GUI案例 - 3.程序组织

学着写Swing程序也有一段时间了,总是感觉程序不够清晰,最近几个月,对这个案例程序做了反复重构,有了一些体会。

应用简述:实现如下界面,并提供相关的录入、查询、修改和删除等功能。

gui

参见:Swing GUI案例 - 2.需求说明

我摸索的程序组织原则如下:

1、容易找到程序的入口java程序,该java程序非常精炼;

2、容易找到各个可视控件(视图)的java展示代码;

3、容易找到各个可视控件触发的事件的处理代码;

4、数据结构(模型)和数据展示(视图)分离;

5、数据结构由业务模型决定,数据展示(视图)充分体现数据结构

 

为实现上述5个原则,可以总结4个技巧:

1、按照业务模型设计数据结构(model),单独形成java文件;

2、根据对数据结构的展示要求设计视图(view),视图中的需要动态填入内容的控件全部声明为public   final字段,并在构造函数中初始化为缺省值,视图中仅包括数据展示(设计swing构建的model,如ListModel、TableModel 等),以及页面布局,不包含任何数据操作;

3、如果视图较为复杂,则按照视图界面进行分解,经过努力,上图主界面及相关编辑界面的视图转化为7-8个独立的java文件,每个文件都在200行以下;

4、按照层次结构组织视图,入口程序构造主界面和总的事件响应器,主界面按照展示层次依次构造各个可视部件,总的事件响应器构造适应各个界面的事件响应器

 本着上述方法,我的程序组织如下:

1、rec_def.java用以表示关联文件,字段包括:

          任务编号

          登记日期

          事件日期

          事件描述

          文件名等

2、task_def.java用以表示任务,字段包括:

          任务编号

          任务描述

          任务中包括的关联文件记录(List<rec_def>)

3、task_table.java用以展示任务;

4、rec_table.java用以展示记录;

5、edit_view.java用以展示包含task_table、rec_table在内的编辑面板

6、edit_act.java用以实现edit_view中各控件触发事件的处理

……其他的view、act以及配置文件等的定义

99、taskman.java,包含List<task_def>、edit_view、edit_act等。

        

 

我在相关论题中的留言

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值