2010-05-27 75 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方法。