JFace SWT TableViewer中的图像和文本

时间:2012-04-20 18:03:17

标签: java swt jface cells tableviewer

我目前正在尝试实现一个动态Dialog,其中包含一个带有JFace TableViewer的SWT表。当Dialog被实例化时,它会传递一个Array作为列标题然后动态创建(这已经可以),它也会传递一个包含值对的java.util.HashMap。假设每一对代表一行,如(“1”,行的数据集,如行的每个单元格的数据)。现在,就我从几个教程中收集而言,表输入似乎是通过内容提供程序的getElements()方法控制的,该方法获取其参数,即调用setInput()时的输入元素。如果我到目前为止,当不同的单元格数据具有不同类型时,我将如何填充行的单元格,即图片|图片|文字|文字|。我想我要么没有理解内容提供者,要么就像我开始做之前那样简单,因为我不知道我将如何返回表示单元格的getElements()中的Object []上述结构。请赐教!

2 个答案:

答案 0 :(得分:1)

我认为内容提供商并不真正关心表格单元格中的不同类型。但标签提供商确实关心。标签提供程序用于表示有关基础输入的一些用户可读“信息”。 ITableLabelProviderpublic Image getColumnImage(final Object element, final int columnIndex)public String getColumnText(Object element, int columnIndex);。正如您所看到的,实现这些方法,您将获得特定单元格中的列号和实际对象。使用一些'instanceof',您可以根据需要显示文本/图像。

答案 1 :(得分:0)

  

我不知道我将如何在表示上述单元格结构的getElements()中返回Object []

Object[]也是ObjectObject[][](或List<Object>[])是Object[]