2010-05-27 73 views
6

我想有文說一兩件事,但有值說另一個SWT組合框名稱/密鑰對

文本主要

但是,只需要添加條目的字符串。

如何Java程序員通常存儲文本/組合框在

回答

13

也許你可以使用組合框的使用setData(String鍵,對象的值)方法才達到你想要的ID對。

實施例:

Combo box = new Combo(parent, SWT.DROP_DOWN); 
String s = "Item 1"; 
box.add(s); 
box.setData(s, "Some other info or object here"); 
s = "Item 2"; 
box.add(s); 
box.setData(s, "This is item two"); 

String value = (String)box.getData("Item 2"); 
// value is now "This is item two" 

注意GetData方法返回一個Object。所以你必須將它轉換爲你使用setData方法設置的Type。

因此,您不限於將字符串設置爲您的值。您可以使用setData方法將所需的任何對象設置爲值。只要確保在使用getData方法再次收到數據時正確投射。

編輯: 順便說一句,您可以在任何SWT小部件上使用setData和getData方法。