添加到JMenuItem的其他信息

时间:2010-03-04 13:37:56

标签: java user-interface swing jmenuitem

我正在开发一个java应用程序,我手动创建一个动态JMenu(取决于输入数据)。我为菜单的每个菜单项添加相同的操作。问题是,根据所谓的菜单项,我想每次采取不同的行动。有没有一种简单的方法(每个JMenuItem的setData(对象数据)或我被迫从JMenuItem派生的东西)?

提前致谢,

尤利安

2 个答案:

答案 0 :(得分:6)

我猜您可以在Action的actionPerformed方法中使用ActionEvent.getSource。将事件的来源与您的JMenuItem进行比较。

要存储其他信息,您可以使用putClientProperty或扩展JMenuItem

答案 1 :(得分:1)

根据最初的问题和评论,我建议Julian用一个字符串替换它的JMenuItem,并用仅用一个动作构建的JMenuItem替换相关的动作,同时提供文本和相关的行为。此操作可以引用应用程序中的其他元素以提供其必需的行为。