如何将JFace表添加到Eclipse RCP新建项目向导中



我有一个向导,有两个页面:pageone扩展WizardNewProjectCreationPagepagetwo扩展WizardPage。我希望用户能够首先创建项目,然后在第二页上将文件添加到项目中。

对于后者,我想使用SWT Table(?),就像在Eclipse IDE中的Java类向导中选择接口一样(参见此处的图片)。还有旁边的"添加"按钮。

我怎样才能做到这一点?我必须使用EclipseFormsneneneba API吗?或者简单地添加一个SWT表?我使用了Plug-In-Spy,但NewClassWizardPageNewTypeWizardPage中给出的源代码似乎非常具体,我无法理解它

我也看过vogella的JFace表格教程,但我无法理解

只要一些基本的步骤就很好了,或者可能有人以前做过?

我很容易理解你为什么感到困惑。。。确实有很多方法可以做到这一点。您甚至忽略了数据绑定,它为您提供了另一种填充和装饰有问题的表的方法。

总结不同API的用法:

  • SWT提供了基本的小部件和控件。通常,它们有一个相当不规则的底层接口——尤其是与Swing相比——但您需要访问SWT控件来布置它们(这本身可能很复杂)。此外,许多侦听器都在控件上
  • JFace在相应的结构化SWT控件之上提供了一组查看器,例如Table之上的TableViewer。这些查看器为底层控件的功能提供了一个高级界面,例如模型、标签提供程序、排序、筛选等。(观众可以很容易地与Swing同行进行比较…)
  • Eclipse Forms提供了一种(相对)简单的方法来创建看起来像网页的视图、对话框等。例如各种PDE编辑器
  • 数据绑定提供了一种(有些复杂)的方法,可以将控件(包括表)绑定到数据结构(基于Bean、EMF或POJO)

所以。。。您必须决定是否使用JFace和Data Binding的模型方面,但其余的API通常组合在同一个视图或对话框中。

NewClassWizardPageNewTypeWizardPage都是向导的特别复杂的例子——不要把自己的工作建立在这些基础上!

根据我的理解,对于您的特定情况,我会使用一个简单的JFace TableViewer来保存接口列表。。。(我使用TableViewer而不是ListViewer,因为后者不能将图像作为标签提供程序的一部分。)"添加"one_answers"删除"按钮将操作查看器的模型,然后更新查看器。您不需要EclipseForms,因为向导通常看起来不像网页。考虑到向导的数据非常非常简单,数据绑定在这里也是一种过度使用。

请注意,只有在显示了所有向导页面并按下"完成"按钮后,才能执行向导的功能。

最新更新