Dando el nombre de JMenuItem a su ActionListener
¿Cómo puedo dar miJMenuItem
s nombres que elActionListener
adjunto a ellos mirará?
Tengo un sistema de menú manejado por una solaActionListener
, y algunos elementos en esos menús duplican nombres. Esto no es un problema para el usuario final, porque es obvio qué hace qué; de hecho, sería más confuso si tuvieran nombres diferentes. Sin embargo, a mi fin, quiero etiquetar cada elemento de forma única.
La sección que crea mis artículos se ve así:
String label = getLabel(forThisItem);
JMenuItem item = new JMenuItem(label);
item.setName(parentMenu.getName() + "_" + label);
item.addActionListener(actionListener);
parentmenu.add(item);
Interrogar el elemento después (y fuera del alcance de este método) con getName () da el nombre que le di, como debería, pero el resultado de
public void actionPerformed(ActionEvent ae) {
String actionPerformed = ae.getActionCommand();
System.out.println("actionPerformed: " + actionPerformed);
}
es el nombre, posiblemente duplicado, que ve el usuario, especificado porlabel
, no el nombre único que le di.
¿Cómo puedo proporcionar la información correcta al ActionListener?