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

在进行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);
    }

}

时间: 2024-08-22 14:30:20

浅谈Eclipse RCP中可用的可视化编辑器的相关文章

如何在eclipse rcp中使用富文本编辑器(rich editor)

使用eclipse rcp开发自己的应用程序时,经常需要使用到格式文本的编辑与展示.但在SWT/JFACE组件中并未提供合适的组件来完成此任务,Text与我们的要求相差甚远.我的OA系统中公文的正文部分需要一个合适的rich editor来完成此任务. 于是蛮世界的寻找适合的java rich editor组件来完成这个需求,最后寻得两个比较容易在eclipse rcp中采用的技术方案,这两个方案我都在我的系统中应用过 1.使用ekit组件,ekit是不多的开源java rich editor组

用户体验设计:浅谈可用性测试中沟通的技巧

文章描述:如何快速解除用户防备?--浅谈可用性测试中沟通的技巧.   一般来说,在产品的设计和开发过程中,不同阶段会使用到不同的用户研究方法.比如,在产品正式发布之前,通常会进行可用性测试.可用性测试,是指让一群有代表性的用户尝试对产品进行典型操作,同时观察员和开发人员在一旁观察.聆听.记录.该产品可能是一个网站.软件,或其他任何产品,它可能已经做好,也可能尚未成型. 对于一个典型的可用行测试,我们可以:1. 通过观察用户在使用产品过程中出现的一些问题,发现产品的可用性问题2. 从测试参与者的表

浅谈SQL Server中的快照

原文:浅谈SQL Server中的快照 简介     数据库快照,正如其名称所示那样,是数据库在某一时间点的视图.是SQL Server在2005之后的版本引入的特性.快照的应用场景比较多,但快照设计最开始的目的是为了报表服务.比如我需要出2011的资产负债表,这需要数据保持在2011年12月31日零点时的状态,则利用快照可以实现这一点.快照还可以和镜像结合来达到读写分离的目的.下面我们来看什么是快照.   什么是快照     数据库快照是 SQL Server 数据库(源数据库)的只读静态视图

浅谈云计算发展中亟待解决的问题

发展云计算不能"跟风攀比""乱云飞渡"--浅谈云计算发展中亟待解决好的几个问题 到目前为止,中国已经掀起了一场云计算发展的热潮.从媒体的热炒,到资本的造势,再到大量学术活动裹挟着的商务宣传,已经拼命地为云计算概念加温.加上Google.IBM.微软等IT巨头们以前所未有的速度和规模进行云计算的推广和炒作,更是把云计算推上了峰巅.云规划,云纲要,云项目.云基地似乎已经成为各级政府新的发展规划中一道最亮丽的风景线. 随着各地云计算热情的空前高涨,一时间多地政府纷纷出台优

浅谈网站SEO中避免pr高权重外链建设误区

做网站优化的站长需要经常要去发外链或者是交换友情链接,网站外链的数量和质量对网站的关键词排名有着非常重要的影响.我们去和别的网站交换友情链接,首先要考虑的就是对方网站是否和我们的网站门当户对.大家都喜欢高pr和高权重,认为权重高的网站自然能传递给我们网站不错的权重,从而提高我们网站的关键词排名.但事实上高pr和高权重并不一定会给我们网站带来好处,有时候还会影响搜索引擎对我们网站的印象. 网站优化中做外链最主要的就是把其他页面的权重传递给我们的网站,提高我们网站自身的权重,从而使关键词在搜索引擎中

Eclipse RCP中使用JasperReport制作报表

Eclipse RCP用来开发Java客户端应用非常爽,现在它本身也有BIRT报表项目 支持Eclipse RCP中使用报表.不过四年前我开始开发时,却没这么幸运,于是怎 么在RCP中生成报表成我一个头痛的事情. 琢磨了几天,终于让我想出一个在我的Eclipse RCP程序中使用JasperReport 报表的方法: 1.报表模版存放在服务端特定的一个资源目录下. 2.客户端获得客户输入的报表参数(查询范围.分组条件)及对应报表模版 名称(与服务端有命名约定) 3.客户端提交request对象至

eclipse rcp中怎么为文本框绑定复合键事件

问题描述 eclipse rcp中怎么为文本框绑定复合键事件 在进行eclipse rcp程序开发时想为一个Text文本框,shift+a?

浅谈PHP正则中的捕获组与非捕获组_php实例

今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可行的,于是总结一下,分享的同时也希望有大神和细心的学习者找到我理解中出现的问题. 什么是捕获组 我们先看一下PHP的正则匹配函数 int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags =

浅谈spring容器中bean的初始化_java

当我们在spring容器中添加一个bean时,如果没有指明它的scope属性,则默认是singleton,也就是单例的. 例如先声明一个bean: public class People { private String name; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String get