JPopupMenu issue d'une HashMap
Cotton
-
Cotton -
Cotton -
Bonjour,
J'aimerai créer un menu type JPopupMenu avec, comme contenu, des JMenuItem. Jusque là, rien de compliquer.
Mais la particularité c'est que je veux créer des JMenuItem à partir des éléments d'une HashMap comportant des objet Item.
La compilation s'effectue sans erreur. Néanmoins, lorsque je clique sur mon bouton vButtonBack, le menu ne s'affiche pas.
Je ne vois pas d'où vient l'erreur... Pouvez vous
J'aimerai créer un menu type JPopupMenu avec, comme contenu, des JMenuItem. Jusque là, rien de compliquer.
Mais la particularité c'est que je veux créer des JMenuItem à partir des éléments d'une HashMap comportant des objet Item.
JPopupMenu vPopupMenu = new JPopupMenu();
vButtonBack.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Set<String> keys = (aEngine.getPlayer().getCurrentRoom().getItemsList()).keySet();
for(String vItem : keys)
{
vPopupMenu.add(new JMenuItem(vItem));
}
vPopupMenu.show(vButtonBack, vButtonBack.getBounds().x + 35, vButtonBack.getBounds().y + 35);
}
});
La compilation s'effectue sans erreur. Néanmoins, lorsque je clique sur mon bouton vButtonBack, le menu ne s'affiche pas.
Je ne vois pas d'où vient l'erreur... Pouvez vous
A voir également:
- JPopupMenu issue d'une HashMap
- Discord sctr issue - Forum Discord
- Connexion SCTR discord/ aucun de chemin de connexion - Forum Discord
- Cavale sans issue streaming vf - Forum Cinéma / Télé
- Gif animé de haute qualité issue d'une vidéo - Forum Graphisme
- Date issue de RechercheV - Pblm Format ✓ - Forum Bureautique
1 réponse
Bon, pour ce point, j'ai réussi.
Mais maintenant je veux qu'a chaque fois que je clique sur un des JMenuItem, cela exécute une méthode.
vButtonTake.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
JPopupMenu vPopupMenu = new JPopupMenu();
Set<String> keys = (aEngine.getPlayer().getCurrentRoom().getItemsList()).keySet();
if((aEngine.getPlayer().getCurrentRoom().getItemsList()).isEmpty())
{
vPopupMenu.add(new JMenuItem("Cette pièce ne possède pas d'objet..."));
vPopupMenu.show(vButtonTake, vButtonTake.getBounds().x + 35, vButtonTake.getBounds().y + 35);
}
else
{
for(String vItem : keys)
{
vPopupMenu.add(new JMenuItem(vItem));
}
vPopupMenu.show(vButtonTake, vButtonTake.getBounds().x + 35, vButtonTake.getBounds().y + 35);
}
}
});
Mais maintenant je veux qu'a chaque fois que je clique sur un des JMenuItem, cela exécute une méthode.