我想在 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,请分享。
提前致谢。
如果我理解正确的话,您需要为
JMenuItem
设置不同的可访问属性,以便当用户单击菜单项时,您可以读取相应的值,该值可用于其他目的。
为此,请尝试
setActionCommand
API;通过这种方式,您可以将任何字符串与菜单项相关联,并且在事件处理代码中,您可以对生成事件的源对象执行 getActionCommand。
注意: 您的接受率为 0%。这意味着您不接受您发布的问题的任何答案。不要指望有太多人回答你的问题。
如果将键值对包装在单个对象中,则可以将这些对象传递到 JMenu。为了确保只有部分对象信息(在本例中为值)显示在此菜单中,您可能想要“破解” JMenuItem 的呈现(通过派生您自己的类并使用 PaintComponent() ,我猜),或者只是更改传递对象的 toString() 方法(如果可行,这可能会导致一些问题,具体取决于这些对象的进一步使用)以仅返回应该显示的值。