我如何给我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提供正确的信息?
2 回答
杨__羊羊
TA贡献1943条经验 获得超7个赞
您为什么不调用setActionCommand菜单项。setName如果您致电setActionCommand,而不是使用,您应该会在通话时得到期望的结果getActionCommand
另外,它的标签也不可靠。
添加回答
举报
0/150
提交
取消