2015-11-25 55 views
0

我有一個表featuresTable類型Table查詢TableItem的數據對象(SWT)

我能做到以下幾點,以檢索第一項(這裏假設總是有一個):

TableItem item = featuresTable.getItem(0); 

這一切都很好。

我想現在要做的是得到它的數據:

Object data = item.getData(); 

的問題是,我希望獲得一些數據對象的字段。例如。 data.requirements,但沒有getter可用。

如何訪問數據對象的所有字段?我知道data.requirements在那裏,因爲在調試時我可以看到它,但通過我自己的代碼,字段不可用。顯然這是有道理的,但由於沒有getter,我無法弄清楚如何檢索它,因爲我無法修改代碼。

+0

究竟是你想從該項目獲得?單元格中的文字?數據的類型是Object。您需要將其轉換爲您在調用'item.setData()'時使用的數據類型。 – Baz

+1

@Baz我應該花更多的時間閱讀實際的API ...這不是我的代碼,所以我甚至沒有看到它使用'setData()',我可以通過'getData(key) 。解決了問題!如果您將您的評論發佈爲答案,我會接受它,因爲您對'setData()'正確,然後在調用'getData()'時拋出它' – DSF

回答

1

看來你使用的代碼利用了Widget#setData(String, Object)。 爲了恢復您的數據,您可以使用Widget#getData(String)

如果原始數據爲A類型的,你還就需要轉換回:

A myData = (A) item.getData("myKey");