提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|其它|编辑:郝浩|2009-09-02 11:53:49.000|阅读 1784 次
概述:在进行RCP开发的时候,有一个可视化编辑器,当然可以起到事半功倍的效果。对于进销存管理系统这样简单的程序来说,视图加对话框就可以搞定所有的程序功能,然而对于视图和对话框中的控件,如果没有可视化编辑器的帮助,足以让开发者焦头烂额。
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
在进行RCP开发的时候,有一个可视化编辑器,当然可以起到事半功倍的效果。对于进销存管理系统这样简单的程序来说,视图加对话框就可以搞定所有的程序功能,然而对于视图和对话框中的控件,如果没有可视化编辑器的帮助,足以让开发者焦头烂额。然而选择可视化编辑器的道路却坎坷曲折,我在这里把我的经历写出来,希望对大家有一点帮助。
先来说说VE,我想大家一想到可视化编辑器的时候,第一个就会想到VE.我在这里告诉大家,这个编辑器你们根本不用考虑,不用浪费时间在它上面。为什么这么说呢?第一,这个编辑器的官方版本还是2007年1月30日发布的1.2.3_jem版,这个版本只支持Eclipse3.2,不支持3.4.当然还有一个非官方的1.4版可以用,它的安装地址为//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);
}
}
如果我们在这个对话框中自己处理事件循环,就更完美了,代码如下:
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类,但是已经满足了。剩下的功能,就全部交给可视化编辑器了,如下图:

也就是说,只要我们探索出什么样的源代码可以被可是化编辑器分析并编辑,我们就可以省掉几百美元的注册费。目前在网上,有人致力于SWT-Designer的破解,但是对于最新的7.0版,还是没有破解的资料,再说,公然使用盗版也是不对的。
只要不嫌麻烦肯发送邮件,获取一个Evaluate版用用也是不错的,该版本没有任何功能限制,但是只有十四天的时间,十四天以后,想再用就不可能了,除非你换一台机器,因为你激活的时候那边已经把你的机器信息记录下来了。下面看看Evaluate版的截图,所有的控件都是可用的,没有灰色按钮,而且创建对话框的向导也是可以用的:

十四天以后怎么办?这是一个问题。所以,如果免费的版本能够满足我们的要求,就尽量用免费的吧,怎么说它比VE要强多了。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn
文章转载自:IT专家网



接DevExpress原厂商通知,将于近日上调旗下产品授权价格,现在下单客户可享受优惠报价!
面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ke049m.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
半岛外围网上直营