(代码下载地址:http://download.csdn.net/detail/fishjam/9407273 )
最近在学习Java相关的知识,按照我学习的一贯做法,都是通过 UT + Demo 的方式来学习、测试和记录笔记。因此,希望能制作出一个比较容易增加测试项的GUI测试程序,方便测试各种学习点。
通过学习研究,发现参照Eclipse 自带的 ControlExample SWT 示例程序,并结合 WinBuilder可以很好的进行可视化开发出完全满足我要求的JavaDemo程序,方便演示效果和进行扩展,特共享出来。
最后结果如图所示(分了很多Tab页 – 共享的示例程序为了突出重点,删除了很多实际的测试代码):
现简单介绍搭建方法。
1. 使用的Eclipse 为 Mars.1 Release (4.5.1) – 理论上说其他版本也没有问题.
2. File => New=> Project, 新建一个 Maven Project
3. 在工程上右键,选择 Maven => Add Dependency, 并分别填入如下内容(以下内容可通过 http://search.maven.org/网站查找确认):
groupId: org.eclipse.swt.org.eclipse.swt.win32.win32.x86_64.4.3.swt
artifactId: org.eclipse.swt.win32.win32.x86_64
version: 4.3
4. 生成一个 main, 在其中引入任何 SWT相关的类(如 org.eclipse.swt.widgets.Display),编译时会自动下载SWT相关的包,如果没有错误的话,说明SWT的环境已经配置好了。
5. 在线安装WindowBuilder: 打开 https://eclipse.org/windowbuilder/,选择右上角大大的”Download”,即可查询在线安装地址(Update Site),然后通过 Help->Install New Software 安装。安装好以后,安装好以后,右键 .java 文件,如果出现Open With => WindowBuilderEditor,则说明 Window Builder 也已安装成功。
6. 我参照 ControlExample 的方式编写了代码(详细内容参见下载地址),因此就可以方便的测试各种功能点了。
补充信息:
1. 在我的学习过程中,UT 通常是测试一些基本的语法,不需要和用户交互型的。Demo通常是测试 多线程、网络、GUI 等和用户交互顺序等相关的部分。两者结合,快速学习和留下学习笔记。
2. Window Builder 有时自动生成的代码会不符合要求,这时可以先手动更改出代码的大致框架,然后再让WinBuilder自动生成。比如 我创建了 createDemoControls + createLogControls方法,来保证从TabBase继承的Tab页能继承基类中定义的 log 等功能,且子页面定义的控件放在 log 控件的上方。
3. 共享的Demo程序中,也包含了我从FTL中移植过来的支持暂停、继续的线程类,当然,目前功能很原始,只是初步的测试,仅作参考。