SWT中表的简单示例

时间:2012-08-21 19:21:49

标签: java swt

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

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

我希望能够创建一个Table类(SelectionsTable.java)。在表类中,我希望能够创建一个包含4个列的简单表,并从arraylist中填充行值。

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

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

直接来自eclipse here的代码片段非常好。对你来说最有趣的一个应该是这个:create a table (columns, headers, lines)。它显示了如何创建包含多个列,标题和行的表。

因为你似乎对java很熟悉,所以你应该能够弄清楚如何将它用于你的目的。

如果您希望TableViewer与[{1}}合适ContentProvider,请查看Vogella的优秀教程。

答案 1 :(得分:1)

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

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

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

  3. 设置viewer.setContentProvider()

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