1

我的上一个项目创建了一个 Singleton 类并使用 Swing 来创建我的 TableModel,然后将填充的表添加到我的基本对话框类中。

然而,我的新项目必须使用 SWT 而不是 Swing。恐怕我对 SWT 知之甚少。

我希望能够创建一个表类(SelectionsTable.java)。在表类中,我希望能够创建一个具有 4 个列并从数组列表填充行值的简单表。

稍后我会担心如何将表格传递给我的 BaseDialog 类。

任何帮助是极大的赞赏。

4

2 回答 2

3

这里有直接来自 eclipse 的非常好的代码片段。你最感兴趣的应该是这个:创建一个表(列、标题、行)。它展示了如何创建一个包含多个列、标题和行的表格。

由于您似乎对 java 很熟悉,因此您应该能够弄清楚如何将其用于您的目的。

如果你想有一个适当TableViewerContentProvider,看看这个Vogella的优秀教程。

于 2012-08-21T19:24:53.513 回答
1

ContentProvider 就像一个模型,为 TableViewer 提供输入。(表模型)

LabelProvider 是一个提供您将在表格单元格中显示的图像和文本的类。(类似于 Swing 中的 getValueAt())

  1. 在对话框中创建 TableViwer
  2. 为 tableviewer 创建 TableViewerColumn(每列)并在 TableViewerColumn 上设置 LabelProvider()。LabelProvider.getImage() 将为内容提供程序在此列上提供的每个行对象调用 LabelProvider.getText()。

  3. 设置 viewer.setContentProvider()

它是这样工作的: TableViewer 首先从它的内容提供者那里获得输入。假设您的内容提供商正在返回 RowObjects 列表。对于每个 RowObject,每个 TableViewerColumn 上的标签提供程序将被调用以在该特定单元格位置显示图像和文本(如 Swing 中的 colIndex、RowIndex)。

于 2012-08-22T18:27:52.507 回答