Swt组合框名称/密钥对

时间:2010-05-27 15:54:28

标签: java swt

我希望文本说一件事,但有价值说另一个

文字键

但它只需要一个字符串来添加项目。

Java程序员通常如何在组合框中存储文本/ id对

1 个答案:

答案 0 :(得分:13)

也许你可以使用组合框的setData(String key,Object value)方法来实现你想要的东西。

示例:

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方法。