创建Eclipse游戏插件,第1部分: 入门 - 编程入门网
org.eclipse.swt.widgets.Table。
视图如何创建和初始化 在 createPartControl 方法中,请注意在 viewer 实例变量用新的 TableViewer 初始化之后,下一行是 viewer.setContentProvider(new ViewContentProvider()。 ViewContentProvider 是在 ShootoutView 内部定义的内部类。 ViewContentProvider 实现了接口 org.eclipse.jface.Viewers.ISructuredContentProvider。这个接口定义了方法 getElements(),TableViewer 在需要填充底层表格时调用这个方法。可以看到它返回一个对象数组。在这个示例中,Eclipse 向导创建了一个简单的对象数组。可以看到在需要用真实数据填充表格的时候,这个方法是需要修改的方法。 createPartControl() 方法包含对私有方法的额外调用,这些方法设置处理键盘输入和鼠标点击所需要的回调。在后面的部分中,将进一步详细研究这些内容。 安排好布局 但是首先,要创建两个按钮,并把它们放在 TableViewer 下面。要做这个工作,必须首先创建和管理一个包含所有部件的布局。 同样,请注意创建 TableViewer 的那一行:
所有的 SWT 组件,在创建的时候,都被分配给一个容器,容器成为组件的双亲。现在的视图的双亲被传递给 createPartControl,并定义为 org.eclipse.SWT.widgets.Composite。而 composite 指的是任何能够包含其他 SWT 部件的 SWT 部件。从插件视图的角度来说,就是窗口。 不幸的是,生成的代码认为在这个窗口中要做的全部工作就是 TableViewer。由于代码已经生成,所以没有简单的方法可以添加按钮并让按钮出现在需要的位置上。必须首先引入一个布局,由它管理部件(包括 TableViewer)的位置和尺寸。 使用 GridLayout 和 GridData Eclipse 在 org.eclipse.swt.layout 包中提供了许多布局。其中最强大最灵活的布局之一是 GridLayout。请在 createPartControl 方法的顶部现有方法之前,添加以下代码:
这就创建了一个 GridLayout 布局管理器,它有两个列,并把它设置成画布(传递给这个方法的双亲)使用的布局管理器。 现在可以控制 TableViewer 部件的摆放了。要做这个工作,将使用 GridLayout 的伴侣类 GridData。请添加下面这些行:
这告诉布局管理器:想让部件占两列,让布局管理器把对象拓宽以占满每个列。 然后把 GridData 对象分配给想在上面实施这些约束的部件。在这个示例中,是 TableViewer 对象。但是有一个问题:TableViewer 实际不是个 SWT 对象;它是 Table 对象的包装器。这个对象上看起来没有方法可以用来设置它的布局。 创建Eclipse游戏插件,第1部分: 入门(10)时间:2011-02-10 IBM Trebor Fenstermaker实际上,必须要做的是访问底层 SWT 表格,然后直接设置它的布局。请在调用 viewer 的不同设置器的块之后添加这行代码: viewer.getTable().setLayoutData(gridData); createPartControl 现在看起来应当像清单 2 一样。 清单 2. 到目前为止的 createPartControl 方法
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |