快速业务通道

创建Eclipse游戏插件,第1部分: 入门 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
个文件,可以看到添加游戏功能所需修改的一些代码。

创建基本界面

现在已经有了插件的基本框架,可以用标准小部件工具包(SWT)添加一些可视组件了。

SWT 介绍

SWT 是一个轻量级部件 API,利用了平台的本机部件。这就允许实现 Java 承诺的 “编写一次,处处运行”,同时还具有丰富的用户界面,看起来就像在本机窗口环境中编写的应用程序一样 —— 不论是 Windows®、OS X 还是 KDE 等等。

SWT 为图形设计师创建最复杂的应用程序提供了所需要的全部部件 —— 从简单的文本和按钮,到更复杂的树和菜单,应有尽有。SWT 捕捉事件(例如键盘按键和鼠标点击),允许编写自定义处理程序。它为更复杂的组件(例如表格)提供布局管理器和一套充当模型的对象(称为 JFace)。简而言之,它是一个特性全面的用户界面 API。

SWT 与已经打包在 Java 中的用户界面 API(AWT、Swing)的区别在于,它大量地使用了本机部件。尽可能多的工作都委托给本机平台,包括渲染和声明。这就让实现非常轻便,而且还能保证它的行为与本机用户界面的行为尽可能接近,而且不需要折衷或为特定的平台编写特殊代码。

整个 Eclipse 平台就完全是用 SWT 构建的,所以 SWT 是编写插件的合理选择。因为已经告诉插件向导创建一个与用户界面交互的视图插件,所以 SWT 库已经成为项目构建环境的一部分,已经可以使用了。如果检查 ShootoutView 类,可以看到已经导入和使用了一些 SWT 类。

对于这个系列的第 1 部分中的射击游戏,将创建几个启动和控制游戏的按钮,在屏幕上显示这些按钮,并提供它们行为的框架。在后面的教程中,将扩展这些,并创建更复杂的部件,创建游戏剩下的部分。

检查 Eclipse 生成的内容

对于射击游戏,可以在 Eclipse 已经生成的基础上进行构建。首先,请打开 ShootoutView 类。

这个类扩展抽象类 org.eclipse.ui.part.ViewPart。ViewPart 是 Eclipse 中所有视图的基类。作为抽象类,其中有一些在扩展中必须实现的方法。

具体来说,请检查 createPartControl 方法,其中一部分如清单 1 所示(请参阅 下载 查看整个方法,以及这份教程中创建的其他类和方法)。这个方法在需要的时候由 Eclipse 工作台调用,用于创建视图。就是在这里进行部件布局要做的基本工作,在这里也可以看到生成的代码用一个叫作 viewer 的实例变量做这件事。Viewer 被定义成类 TableViewer 的实例。

创建Eclipse游戏插件,第1部分: 入门(9)

时间:2011-02-10 IBM Trebor Fenstermaker

清单 1. 原始的 createPartControl 方法的一部分

/**     * This is a callback that will allow us     * to create the viewer and initialize it.     */    public void createPartControl(Composite parent) {      viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);      viewer.setContentProvider(new ViewContentProvider());      viewer.setLabelProvider(new ViewLabelProvider());      viewer.setSorter(new NameSorter());      viewer.setInput(getViewSite());      makeActions();      hookContextMenu();      hookDoubleClickAction();      contributeToActionBars();    }

TableViewer 是 JFace 组件的一个示例。JFace 是 SWT 中的一套类,它们包装了比较复杂的部件(例如树、复合框等等),并提供了与复杂对象更好的结合。也就是说,JFace 对象使程序员不必手工地把业务对象(可能包含行为、复杂对象等)解构成简单的名称/值组合(SWT 部件要求的)。类 org.eclipse.jface.viewers.TableViewer 包装了

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号