Dando o nome de JMenuItem a ele é ActionListener

Como posso dar o meuJMenuItems que osActionListener anexado a eles vai olhar?

Eu tenho um sistema de menus que é tratado por um únicoActionListener, e alguns itens desses menus duplicam os nomes. Isso não é um problema para o usuário, porque é óbvio o que faz o quê; de fato, seria mais confuso se eles tivessem nomes diferentes. No entanto, no final, desejo rotular cada item exclusivamente.

A seção que cria meus itens fica assim:

String label = getLabel(forThisItem);
JMenuItem item = new JMenuItem(label);
item.setName(parentMenu.getName() + "_" + label);
item.addActionListener(actionListener);
parentmenu.add(item);

Inrogar o item posteriormente (e fora do escopo deste método) com getName () fornece o nome que eu dei, como deveria, mas a saída de

public void actionPerformed(ActionEvent ae) {
    String actionPerformed = ae.getActionCommand();
    System.out.println("actionPerformed: " + actionPerformed);
}

é o nome, possivelmente duplicado, que o usuário vê, especificado porlabel, não o nome exclusivo que eu dei a ele.

Como posso fornecer as informações corretas ao ActionListener?

questionAnswers(4)

yourAnswerToTheQuestion