【问题标题】:How to add JFace table to Eclipse RCP New Project Wizard如何将 JFace 表添加到 Eclipse RCP 新建项目向导
【发布时间】:2012-04-12 06:20:45
【问题描述】:

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

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

我怎样才能做到这一点?我必须为此使用 Eclipse Forms API 吗?或者只是添加一个 SWT 表?我使用了 Plug-In Spy,但 NewClassWizardPageNewTypeWizardPage 中给出的源代码似乎对这个示例非常具体,我无法理解它。

我还查看了 vogella 的 tutorial 用于 JFace 表,但我无法理解它。

只需一些基本步骤就可以了,或者也许有人以前做过?

【问题讨论】:

    标签: swt eclipse-rcp jface wizard


    【解决方案1】:

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

    总结一下不同API的使用:

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

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

    NewClassWizardPageNewTypeWizardPage 都是特别复杂的向导示例 - 不要将自己的工作基于这些!

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-17
      相关资源
      最近更新 更多