2012-04-20 84 views
0

我目前正在嘗試實現一個動態對話框,其中包含一個SWT表和一個JFace TableViewer。當對話框被實例化時,它會傳遞一個數組作爲動態創建的列標題(這已經工作了),它也會傳遞一個包含值對的java.util.HashMap。每對應該表示一行,例如(「1」,該行的數據集合與該行的每個單元格的數據相同)。現在就我從幾篇教程中收集到的內容來看,表輸入似乎是通過內容提供者的getElements()方法來控制的,該方法獲取其參數,即調用setInput()時的輸入元素。如果我目前爲止是正確的,當不同的單元格數據是不同的類型時,我將如何填充行的單元格,即Text |圖像|圖像|文字|文字|。我想或者我沒有理解內容提供者,或者這並不像我在開始之前那樣簡單,因爲我不知道如何在代表單元格的getElements()中返回Object []。結構如上所述。請賜教!JFace SWT TableViewer中的圖像和文本

回答

1

我認爲內容提供者並不在乎表格單元格中的不同類型。但標籤提供商確實很在意。標籤提供者用於表示一些用戶可讀的關於底層輸入的「信息」。 ITableLabelProvider具有public Image getColumnImage(final Object element, final int columnIndex)public String getColumnText(Object element, int columnIndex);。正如你可以看到實現這些方法,你將在特定的單元格中有列號和實際的對象。通過一些'instanceof'你可以顯示文本/圖像...取決於你的需要。

0

我不知道我怎樣要返回的getElements一個Object []()表示上述

Object[]描述的單元結構也是Object,和Object[][](或List<Object>[])是Object[]