毕业论文 - 毕业论文 联系客服

发布时间 : 星期一 文章毕业论文 - 毕业论文更新完毕开始阅读0fc8cb2f647d27284b73514c

2008届网络工程专业毕业设计(论文)

4.1.9 配置服务器流程图

开始读取服务器配置文件显示当前值把修改后值写入文件更新相关视图结束 图4-9 配置服务器算法流程图

该算法首先读取服务器配置文件并显示各个参数,这可以修改。点确

定后,就把修改后值写入配置文件,并更新相关视图。

4.2 系统编码实现

4.2.1 系统的主界面实现

本系统采用Eclipse RCP技术,也就是开发可以独立运行的Eclipse的插件。运用RCP技术,可以实现与Eclipse一样友好的界面,可以方便地组装成一个很强大的系统,因为这是采用插件机制。本系统的主界面如图4-1所示:

23

杨济忠:报表设计器开发

图4-1 报表设计系统主界面图

由图4-1可以看到,本系统和Eclipse界面有很大的相似性。本系统主要用到了包com.xautreportdesign.win。其中各个类的功能及重要代码说明如下:

Application类:是RCP程序的入口类,RCP程序启动后第一个执行就是它,它负责程序的载入与退出。这个类是建立项目后自动生成的,平常情况不需要修改。

ApplicationWorkbenchAdvisor类:是配置工作台的类,工作台的初始化就在这完成。这个类是建立项目后自动生成的,可以修改成自己需要的。这个类的部分代码如下:

ApplicationWorkbenchWindowAdvisor类:用来设置窗口。一个工作台可以有多

个窗口,所以可以多个该类的对象。这个类是建立项目后自动生成的,可以修改成自己需要的。下面代码说明了窗口大小为(700, 550),有工具栏,窗口标题,

显示状态栏,生成系统托盘等。以下是该类的部分实现代码:

24

2008届网络工程专业毕业设计(论文)

public void preWindowOpen() {

}

final IWorkbenchWindow window = getWindowConfigurer().getWindow(); /** 创建系统托盘 */

trayItem = initTrayItem(window);

/** 如果支持系统托盘,则创建托盘的菜单 */ if (trayItem != null) { }

createPopupMenu(window);

/** 设置窗口初始化的各种属性 */

IWorkbenchWindowConfigurer configurer = getWindowConfigurer(); configurer.setInitialSize(new Point(700, 550)); configurer.setShowCoolBar(true); configurer.setShowStatusLine(false); configurer.setTitle(\报表生成系统\); configurer.setShowPerspectiveBar(true); configurer.setShowStatusLine(true);

Perspective类:是透视图类。透视图是各个视图,编辑面组成的一个专用的程序界面。本类是项目默认生成,当然也可以写自己的视图,只要实现IperspectiveFactory接口。下面就是本透视图的布局部分代码,效果如图4-1所示。

public void createInitialLayout (IPageLayout layout) {

String editorArea = layout.getEditorArea(); layout.setEditorAreaVisible(true); layout.setFixed(false);

// layout.addView(View.ID,IPageLayout.LEFT, 0.25f, editorArea); IFolderLayout left = layout.createFolder(\, IPageLayout.LEFT,

0.25f, editorArea);

left.addPlaceholder(DatasourceView.ID); left.addPlaceholder(ServerView.ID);

layout.getViewLayout(ServerView.ID).setCloseable(false); layout.getViewLayout(ServerView.ID).setMoveable(false);

layout.addPlaceholder(editAreaView.ID, IPageLayout.TOP, 0.50f,

25

杨济忠:报表设计器开发

}

editorArea); editorArea);

layout.addPlaceholder(AttributeView.ID, IPageLayout.BOTTOM, 0.25f, layout.getViewLayout(AttributeView.ID).setCloseable(false); layout.getViewLayout(AttributeView.ID).setMoveable(false);

ApplicationActionBarAdvisor类:负责创建和配置工作台窗口上主菜单,工具栏,状态栏等,是报表各种功能模块相关入口。下面的代码是用来建立系统托盘项。其中new Separator()是画一条分隔线,在菜单工具栏中也用到。

public void fillTrayItem(MenuManager trayMenu) {

trayMenu.add(deployAction); trayMenu.add(new Separator()); trayMenu.add(exampleAction); trayMenu.add(aboutAction);

editAreaView类:是编辑视图类。视图相当于一个小窗口,显示某一方面的内容,可以在一个页面上放置几个视图。视图可通过两种方式创建:

一.通过扩展点:修改plugin.xml文件,设置视图扩展点,在最后一行的前加入,下面的代码说明了扩展点是org.eclipse.ui.views,视图名字是“编辑区”,对应的JAVA文件是

com.xautreportdesign.win.editAreaView,ID

是视图的标识,为

XautReportDesign.EditAreaView。对于其它视图,都可以这样创建:

point=\>

name=\编辑区\

class=\ id=\>

二.通过继承抽象类ViewPart类,要改写类中

26