将JMenuItem的名称赋予它的ActionListener

我如何给我JMenuItem的名字ActionListener附上他们的名字?


我有一个由单个处理的菜单系统,ActionListener这些菜单中的某些项目名称重复。在用户端这不是问题,因为很明显什么在做什么;实际上,如果他们使用不同的名称,将会更加令人困惑。但是,最后,我想为每个项目加上唯一的标签。


创建我的商品的部分如下所示:


String label = getLabel(forThisItem);

JMenuItem item = new JMenuItem(label);

item.setName(parentMenu.getName() + "_" + label);

item.addActionListener(actionListener);

parentmenu.add(item);

之后使用getName()询问该项目(且不在此方法的范围之内),它给出的名称应为我给定的名称,但输出为


public void actionPerformed(ActionEvent ae) {

    String actionPerformed = ae.getActionCommand();

    System.out.println("actionPerformed: " + actionPerformed);

}

是用户看到的,可能是重复的名称,由指定label,而不是我提供的唯一名称。


如何向ActionListener提供正确的信息?


慕婉清6462132
浏览 830回答 2
2回答

杨__羊羊

您为什么不调用setActionCommand菜单项。setName如果您致电setActionCommand,而不是使用,您应该会在通话时得到期望的结果getActionCommand另外,它的标签也不可靠。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java