快速业务通道

浅谈Eclipse RCP中可用的可视化编辑器 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14

浅谈Eclipse RCP中可用的可视化编辑器

时间:2011-10-13 blogjava 海边沫沫

在进行RCP开发的时候,有一个可视化编辑器,当然可以起到事半功倍的效果。对于进销存管理系统这 样简单的程序来说,视图加对话框就可以搞定所有的程序功能,然而对于视图和对话框中的控件,如果没 有可视化编辑器的帮助,足以让开发者焦头烂额。然而选择可视化编辑器的道路却坎坷曲折,我在这里把 我的经历写出来,希望对大家有一点帮助。

先来说说VE,我想大家一想到可视化编辑器的时候,第一个就会想到VE。我在这里告诉大家,这个编 辑器你们根本不用考虑,不用浪费时间在它上面。为什么这么说呢?第一,这个编辑器的官方版本还是 2007年1月30日发布的1.2.3_jem版,这个版本只支持Eclipse3.2,不支持3.4。当然还有一个非官方的1.4 版可以用,它的安装地址为http://update.soyatec.org/Ganymede/ve/1.4,可以通过Eclispe的Update功 能进行安装。然而,这个1.4版的表现比1.2.3版还要差,它居然在编辑ViewPart的时候会出错,编辑 Dialog倒是没有什么问题,不过实在是很不好用,改个布局都难。

所以我觉得大家首选的考虑对象应该还是SWT-Designer,不过要钱,而且很贵,是239美元,如果是 239元人民币,我会毫不犹豫地买下来,但是是美元,那就另当别论了。不过如果是专做RCP开发的公司, 可以考虑,不过我想大部分做RCP开发的,都应该是我们这样的玩票吧。对于我来讲,基本上就是能不花 钱就不花钱,先不注册和激活,用起来吧,虽然只有三天时间,但是三天后删掉用户目录下的 Instantiations.license文件,又可以从头再来了。

不过别高兴得太早,免费版本居然有功能限制。比如说,想创建一个对话框,创建不了。但是我发现 ,如果我手动写一个对话框的代码,却可以用SWT-Designer编辑,对于Eclispe自动生成的View类,也可 以编辑。这功能对我来说,已经足够了。

并不是你随便写个对话框类都可以用SWT-Designer编辑的,要想它能够被可视化编辑器解析,对话框 类必须具备如下的形式:

import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Dialog; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.events.ShellAdapter; import org.eclipse.swt.events.ShellEvent; public class LoginDialog extends Dialog {     protected Shell shell;     private int result;     public LoginDialog(Shell parent, int style) {         super(parent, style);     }     public LoginDialog(Shell parent) {         super(parent);     }     public int open(){         createContents();         return result;     }     protected void  createContents(){         //注意下面这一行创建Shell时的参数,想一想我前面讲的模式对话框的概念         shell = new Shell(getParent(), SWT.DIALOG_TRIM |  SWT.APPLICATION_MODAL);     } }

浅谈Eclipse RCP中可用的可视化编辑器(2)

时间:2011-10-13 blogjava 海边沫沫

如果我们在这个对话框中自己处理事件循环,就更完美了,代码如下:

import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Dialog; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class LoginDialog extends Dialog {     protected Shell shell;     private int result;     public LoginDialog(Shell parent, int style) {         super(parent, style);     }     public LoginDialog(Shell parent) {         super(parent);     }     public int open() {         createContents();         Display display = getParent().getDisplay();         //注意下面这几行,想一想我前面讲的事件循环的概念         while (!shell.isDisposed()) {             if (!display.readAndDispatch())                 display.sleep();         }         return result;     }     protected void  createContents(){         //注意下面这一行创建Shell时的参数,想一想我前面讲的模式对话框的概念         shell = new Shell(getParent(), SWT.DIALOG_TRIM |  SWT.APPLICATION_MODAL);     } }

虽然我们不能用JFace里面的Dialog类,只能用swt.widgets里面的Dialog类,但是已经满足了。剩下 的功能,就全部交给可视化编辑器了,如下图:

浅谈Eclipse RCP中可用的可视化编辑器(3)

时间:2011-10-13 blogjava 海边沫沫

也就是说,只要我们探索出什么样的源代码可以被可是化编辑器分析并编辑,我们就可以省掉几百美 元的注册费。目前在网上,有人致力于SWT-Designer的破解,但是对于最新的7.0版,还是没有破解的资 料,再说,公然使用盗版也是不对的。

只要不嫌麻烦肯发送邮件,获取一个Evaluate版用用也是不错的,该版本没有任何功能限制,但是只 有十四天的时间,十四天以后,想再用就不可能了,除非你换一台机器,因为你激活的时候那边已经把你 的机器信息记录下来了。下面看看Evaluate版的截图,所有的控件都是可用的,没有灰色按钮,而且创建 对话框的向导也是可以用的:

十四天以后怎么办?这是一个问题。所以,如果免费的版本能够满足我们的要求,就尽量用免费的吧 ,怎么说它比VE要强多了。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号