2010-03-04 3 views
1

Je développe une application Java et je crée manuellement un menu JM dynamique (en fonction des données d'entrée). J'ajoute la même action pour chaque élément du menu. Le problème est que selon l'élément de menu appelé, je voudrais prendre une action différente à chaque fois. Existe-t-il une manière simple de faire ceci (Quelque chose comme setData (données d'objet) pour chaque JMenuItem ou suis-je forcé de dériver de JMenuItem)?Informations supplémentaires ajoutées à JMenuItem

Merci à l'avance,

Iulian

Répondre

6

Je suppose que vous pouvez utiliser ActionEvent.getSource dans la méthode actionPerformed de votre action. comparez la source de l'événement avec votre JMenuItem.

pour stocker des informations supplémentaires, vous pouvez utiliser putClientProperty ou étendre JMenuItem

+0

Oui, cela me donne l'objet. Mais je veux des informations supplémentaires, pas seulement l'objet. Y a-t-il un moyen de faire cela? – INS

+0

de quelles informations supplémentaires avez-vous besoin? Une fois que vous savez lequel de l'article est la source, vous pouvez faire quelque chose de différent pour chaque article. –

+0

Quel type d'information, complémentaire de l'objet source, auriez-vous besoin? – Riduidel

1

Selon question initiale et remarques, je suggère Julian pour remplacer son JMenuItem construit avec une chaîne et une action associée à un JMenuItem construit avec seulement une action, fournissant à la fois le texte et le comportement associé. Cette action peut référencer d'autres éléments de l'application pour fournir le comportement requis.

+0

Je pourrais avoir de cette façon des tonnes d'actions. Je vais aller avec putClientProperty. – INS

Questions connexes