Swing是否有类似HTML <select>标签的组件?</select>

时间:2010-07-07 20:27:37

标签: java swing

我想在JMenuItem中显示一些信息。数据格式如下:

1-1|Menu Name1

1-2|Menu Name2

我的问题是,当我创建JMenuItem时,它会显示整个键值对。我想知道在Swing中是否存在类似于HTML的

的行为
<SELECT>
 <OPTION value="1-1">Menu Name1</OPTION>
 <OPTION value="1-2">Menu Name2</OPTION>
</SELECT>

...用户从未看到密钥,只看到值。

我不熟悉Swing所以如果有人知道像使用JMenuItems样式的HTML那样的行为请分享。

提前感谢。

3 个答案:

答案 0 :(得分:3)

你的意思是JComboBox

参考:

答案 1 :(得分:2)

如果我理解正确,您需要为JMenuItem设置不同的可访问属性,以便当用户单击菜单项时,您有一个相应的值可供读取,可用于其他目的。

为此,请尝试setActionCommand API;这样,您可以将任何字符串与菜单项相关联,并且在事件处理代码中,您可以对生成事件的源对象执行getActionCommand。

注意:您的接受率为0%。这意味着您不接受您发布的问题的任何答案。不要指望有太多人回答你的问题。

答案 2 :(得分:0)

如果将键值对包装在单个对象中,则可以将这些对象传递给JMenu。为了确保在此菜单中只显示一部分对象信息(在本例中为值),您可能要“破解”JMenuItem的渲染(通过派生自己的类并弄乱paintComponent()) ,我猜),或者只是更改传递对象的toString()方法(如果可行,这可能会导致一些问题,具体取决于对这些对象的进一步使用),只返回应该显示的值。