« 1 23» Pages: ( 1/3 total )
本页主题: 推荐一个Swing界面设计工具Visual Swing for Eclipse 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

rehte

状态: 离线
级别: CEC程序员
精华: 0
发帖: 33
威望: 1 点
财富: 34 元
在线时间:0(小时)
注册时间:2007-01-08
最后登录:2008-12-03

推荐一个Swing界面设计工具Visual Swing for Eclipse

这是我为Eclipse开发的一个Swing界面设计工具。一直以来非常喜欢Swing,对Swing的研究也有很长一段时间了,一直希望Swing在Java桌面开发中扮演重要的角色。但是很久以来Java桌面开发始终是个弱项,其中很大一部分原因是缺乏比较好用的界面设计工具。

NetBeans的界面设计工具(以前叫Matisse Project)的出现给Java的Gui开发尤其是Swing开发带来了希望,但遗憾的是当前Java集成开发环境仍然是Eclipse的天下,据统计,目前市场上至少2/3的份额是被eclipse占有。虽然netbeans已经获得长足的进步,并进一步吸引了更多的developer,但是由于历史习惯和遗留系统等等问题,这个市场份额在最近几年肯定还是eclipse的天下。

当然eclipse也有很多很优秀的界面工具插件,可惜的是免费的插件其质量难以与netbeans的匹敌,好用的插件又都是收费的。因此一直想为eclipse开发一款免费的、开源的、功能上与Mattise Project相近的界面设计工具,算是为Swing的发展做一点贡献。

以前曾经使用 swing做过一个swing的界面设计工具,但由于是一款独立的工具,没有集成到任何IDE中,因此几乎没有实用价值。因此决定在闲暇时间将这个工具重新用eclipse插件技术进行开发。从今年1月份开始,经过了五个月左右周末的努力,这款界面设计工具终于快要完成了,目前定的版本是0.9.1。虽然还有许多细节需要细化,希望提前把项目开源出来,让大家试使,提前发现一些问题和并提出一些建议。

这款工具的目标是希望达到以下几个特点:

1. 界面布局模仿Netbeans界面设计工具,操作和netbeans设计工具基本一模一样,容易直观的实现布局。这是第一目标。目前已经实现。

2. 代码的生成和解析不需要辅助form文件,直接从源代码文件进行解析生成。生成代码可读性要强,要可以编辑并且同步。目前已经基本实现,有些折中处理,采用约定代替配置的办法提高代码解析速度。

3. 直接支持树和表的界面设计,不需要写代码,直观的采用界面操作,便可以直接生成表和树的数据模型代码。此功能已经实现。而且目前的框架可以很容易扩展,实现类似其他复杂组件的界面设计。

4. 工具的性能良好,界面设计功能流畅,代码解析/生成速度快。目前来看,速度和性能还不错,初步的打算是将速度放在最后处理优化。

5.支持在设计时切换LookAndFeel,并能生成所设定LookAndFeel的代码。这样就能做到设计时和运行时完全一致。而NetBeans的设计工具只能以NetBeans自身相同的LookAndFeel设计,然后使用另外的LookAndFeel预览。

开源项目的位置是:http://code.google.com/p/visualswing4eclipse/
使用的是LGPL授权方式。照顾商业利用和开源改进而采用此授权。下载zip文件后解压后放入plugins目录即可。

注意目前支持的Eclipse平台只是3.4,JDK请需要使用1.6

欢迎大家下载试用,如果您发现bug,请帮我在issue一栏提交bug,我好改进。
[ 此贴被rehte在2008年07月19日 17:46重新编辑 ]
顶端 时间: 2008年07月19日 17:20 | [楼 主]
rehte

状态: 离线
级别: CEC程序员
精华: 0
发帖: 33
威望: 1 点
财富: 34 元
在线时间:0(小时)
注册时间:2007-01-08
最后登录:2008-12-03

张贴一些图片说明这个工具的特点
下面是一个典型的设计界面的场景,红框标出的是该插件提供的视图和按钮,支持LookAndFeel切换:
图片:
顶端 时间: 2008年07月19日 17:24 | 1 楼
rehte

状态: 离线
级别: CEC程序员
精华: 0
发帖: 33
威望: 1 点
财富: 34 元
在线时间:0(小时)
注册时间:2007-01-08
最后登录:2008-12-03

这儿是拖拽组件时显示布局提示,和netbeans的界面布局设计类似,点击看大图:
图片:
顶端 时间: 2008年07月19日 17:26 | 2 楼
rehte

状态: 离线
级别: CEC程序员
精华: 0
发帖: 33
威望: 1 点
财富: 34 元
在线时间:0(小时)
注册时间:2007-01-08
最后登录:2008-12-03

这是生成的源代码,可以直接修改源代码,保存后,会自动同步的到设计界面上去:
图片:
顶端 时间: 2008年07月19日 17:27 | 3 楼
rehte

状态: 离线
级别: CEC程序员
精华: 0
发帖: 33
威望: 1 点
财富: 34 元
在线时间:0(小时)
注册时间:2007-01-08
最后登录:2008-12-03

这是一个树的设计器,你可以直观的添加删除编辑树的节点:
图片:
顶端 时间: 2008年07月19日 17:28 | 4 楼
rehte

状态: 离线
级别: CEC程序员
精华: 0
发帖: 33
威望: 1 点
财富: 34 元
在线时间:0(小时)
注册时间:2007-01-08
最后登录:2008-12-03

多LookAndFeel同时设计的抓图,含有NimbusLookAndFeel
图片:
顶端 时间: 2008年07月19日 17:30 | 5 楼
rehte

状态: 离线
级别: CEC程序员
精华: 0
发帖: 33
威望: 1 点
财富: 34 元
在线时间:0(小时)
注册时间:2007-01-08
最后登录:2008-12-03

添加并编辑事件代码:
图片:
顶端 时间: 2008年07月19日 17:31 | 6 楼
rehte

状态: 离线
级别: CEC程序员
精华: 0
发帖: 33
威望: 1 点
财富: 34 元
在线时间:0(小时)
注册时间:2007-01-08
最后登录:2008-12-03

最新的截图,支持几乎所有操作的撤销与重复:
图片:
顶端 时间: 2008年07月19日 17:40 | 7 楼
sxy1999

状态: 离线
级别: CEC程序员
精华: 0
发帖: 2
威望: 1 点
财富: 2 元
在线时间:0(小时)
注册时间:2007-08-27
最后登录:2008-12-02

这么好的东西为什么没有人顶一下呢?楼主真是辛苦了,写出这么好的东西,这就去看一看。
顶端 时间: 2008年07月22日 04:15 | 8 楼
bomberlhl

状态: 离线
级别: CEC程序员
精华: 0
发帖: 3
威望: 1 点
财富: 3 元
在线时间:0(小时)
注册时间:2008-07-28
最后登录:2008-07-30

好东西,,支持你,,
加油。。
顶端 时间: 2008年07月29日 15:37 | 9 楼
jiudian30

状态: 离线
级别: CEC中级程序员
精华: 0
发帖: 49
威望: 1 点
财富: 54 元
在线时间:1(小时)
注册时间:2008-05-16
最后登录:2008-11-12

lz的项目运行成功了,赞,可惜还没有达到实用价值高度。lz如果能够在此回答一些插件开发问题就好了。
顶端 时间: 2008年07月29日 16:37 | 10 楼
rehte

状态: 离线
级别: CEC程序员
精华: 0
发帖: 33
威望: 1 点
财富: 34 元
在线时间:0(小时)
注册时间:2007-01-08
最后登录:2008-12-03

谢谢,我会继续做的,直到做的有实用价值为止。当然要做到商业软件程度还是不现实的,毕竟我没有人、没有财力、也没有能力,我的目标是将功能尽量精简,但是要做精做细了。
顶端 时间: 2008年07月29日 16:59 | 11 楼
danielzhan

状态: 离线
级别: CEC高级程序员
精华: 0
发帖: 79
威望: 1 点
财富: 183 元
在线时间:4(小时)
注册时间:2006-07-05
最后登录:2008-12-05

下载安装了,不错。发现一个小BUG,提交了。
顶端 时间: 2008年07月30日 09:15 | 12 楼
rehte

状态: 离线
级别: CEC程序员
精华: 0
发帖: 33
威望: 1 点
财富: 34 元
在线时间:0(小时)
注册时间:2007-01-08
最后登录:2008-12-03

谢谢danielzhan,你的bug我会立即修复的,谢谢!
顶端 时间: 2008年07月30日 10:09 | 13 楼
rehte

状态: 离线
级别: CEC程序员
精华: 0
发帖: 33
威望: 1 点
财富: 34 元
在线时间:0(小时)
注册时间:2007-01-08
最后登录:2008-12-03

danielzhan: 你提的那个bug已经修复。谢谢。
顶端 时间: 2008年07月30日 11:47 | 14 楼
danielzhan

状态: 离线
级别: CEC高级程序员
精华: 0
发帖: 79
威望: 1 点
财富: 183 元
在线时间:4(小时)
注册时间:2006-07-05
最后登录:2008-12-05

LZ动作好快啊!
最近较闲,想找点事作,申请加入Project了
顶端 时间: 2008年07月30日 12:19 | 15 楼
danielzhan

状态: 离线
级别: CEC高级程序员
精华: 0
发帖: 79
威望: 1 点
财富: 183 元
在线时间:4(小时)
注册时间:2006-07-05
最后登录:2008-12-05

Oh, I maybe made a mistake. I just clicked "join project" and submitted a comment, but I don't think it will work.
How can I join that project? Google code faq says that I have to participate on the mailing list first.
Unfortunately,  I couldn't find a way to join that email list.
So, could u please tell me  what I need to do. Or you can directly add me to ur project. ^_^

My NJStart chinese input method is almost dead. I am so sorry for that.
顶端 时间: 2008年07月30日 12:40 | 16 楼
rehte

状态: 离线
级别: CEC程序员
精华: 0
发帖: 33
威望: 1 点
财富: 34 元
在线时间:0(小时)
注册时间:2007-01-08
最后登录:2008-12-03

danielzhan:
你得先申请一个gmail账户,然后将你的账户告诉我,然后我将你加入。
顶端 时间: 2008年07月30日 12:54 | 17 楼
danielzhan

状态: 离线
级别: CEC高级程序员
精华: 0
发帖: 79
威望: 1 点
财富: 183 元
在线时间:4(小时)
注册时间:2006-07-05
最后登录:2008-12-05

All right, my gmail account is: danielzhan.au@gmail.com
顶端 时间: 2008年07月30日 13:04 | 18 楼
rehte

状态: 离线
级别: CEC程序员
精华: 0
发帖: 33
威望: 1 点
财富: 34 元
在线时间:0(小时)
注册时间:2007-01-08
最后登录:2008-12-03

danielzhan: 加进去了。
顶端 时间: 2008年07月30日 13:15 | 19 楼
« 1 23» Pages: ( 1/3 total )
中国Eclipse社区 » Eclipse使用


辽ICP备05021625号