1.1       企业应用架构

GEF提供了一套完善的图形编辑框架,能方便的实现对图形的操作。GEF一般用来做业务建模的框架,如ERUML、业务流程图,物流规划等。借助GEF可以把复杂的业务逻辑、业务流程清晰的展现给用户,提升用户的体验。

本文结合作者参与的项目,以泊位可视化调度系统为例来说明GEF在企业信息化中的应用。

本章将逐步介绍基于GEF的可视化系统的构建,逐步介绍GEF的开发方法。GEF的开发具有一定的难度,本文将从GEF企业应用的角度来介绍GEF,有RCP应用开发经验的同学能很快掌握。

 

GEF企业应用开发之--Getting Start_第1张图片   

1.2       Create RCP APP

1.2.1        Install Environment

如果你已经在使用eclipse,请直接跳到第3步。

1.       JDK 1.5+,设置好JDK的运行环境。

2.       下载eclipse 3.3+

3.       install GEF。下载地址:

http://download.eclipse.org/tools/gef/downloads/

本文下载的是GEF-ALL- 3.3.2 版本,解压后把featuresplugins两个目录拷贝到eclipse即可。

4.       最后,你最好拥有一台运行流畅的电脑。

 

1.2.2        Create a plug-in project

1 建立一个名为“org.jport.gef”的plug-in项目。

 

GEF企业应用开发之--Getting Start_第2张图片 

 

GEF企业应用开发之--Getting Start_第3张图片GEF企业应用开发之--Getting Start_第4张图片

在这里选择“RCP application with a view”,这个view将在作为Task view,在文章后面有介绍。

点击Finish,完成项目框架的建立

2. 运行plug-in

点击plug-in.xml,在overview标签中,点击“Lanch an Eclipse application,

 

即可得到:

 

GEF企业应用开发之--Getting Start_第5张图片

 

 

 

3、修改项目的编码方式

默认状态下,新建项目的编码方式是GBK,为了以后处理方便,所以通常情况下把项目的编码方式改为UTF-8. 本文认为使用UTF-8会带来更多的方便,当然使用GBK也是没有问题的。

 

GEF企业应用开发之--Getting Start_第6张图片

 

3、添加lib

Package Explorer中,右击项目名称,新建一个名为“libFolder,.用来放引入的第三方jar.在以后的开发中,如果需要用到第三方jar,请自行拷贝,并添加到classPath

1.2.3        Perspertive Layout

对界面布局进行切割,为用户提供一个完整的工作台,方便完成工作。

1.创建Navigate View新建package,org.jport.gef.ui,并在该包创建一个“Navigate.java”的view文件,并在plug-in文件中进行相应的配置。配置好的内容如下:

         point="org.eclipse.ui.views">

     

            name="View"

            class="org.jport.gef.ui.Navigate"

            id="org.jport.gef.ui.Navigate">

     

(注:你可以利用refactor的方式,把View.java改为Naviatate,这样可能会快些,但完全可以新建)

2. 修改Perspective.java

 

package org.jport.gef;

 

import org.eclipse.ui.IFolderLayout;

import org.eclipse.ui.IPageLayout;

import org.eclipse.ui.IPerspectiveFactory;

import org.jport.gef.berth.ui.Navigate;

 

public class Perspective implements IPerspectiveFactory {

 

    public void createInitialLayout(IPageLayout layout) {

      

       final String properties="org.eclipse.ui.views.PropertySheet";

       final String editorArea=layout.getEditorArea();

       layout.setEditorAreaVisible(true);

      

       final String navigate=Navigate.ID;

      

       final String outLine="org.eclipse.ui.views.ContentOutline";

       IFolderLayout leftTopfolder = layout.createFolder("navigatorLayout", IPageLayout.LEFT, 0.2f ,  editorArea);

        leftTopfolder.addView(navigate);

      

     

         IFolderLayout leftBottomLayout = layout.createFolder("outlineCodeLayout", IPageLayout.BOTTOM, new Float(0.7),navigate);

         leftBottomLayout.addView(outLine);

        

 

     

         IFolderLayout  mainBottomLayout = layout.createFolder("mainBottomLayout", IPageLayout.BOTTOM, new Float(0.5),editorArea);

         mainBottomLayout.addView(properties);

         

    }

}

 

3. OK,运行看效果

 

GEF企业应用开发之--Getting Start_第7张图片

 

至此,基本的RCP框架已经搭建完成,至今,本文还未涉及任何GEF开发的问题,在下一节中,将对如何完成GEF应用做以说明。源码见随书代码的Part1部分。