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
- Cavale sans issue streaming vf - Forum Cinéma / Télé
- Date issue de RechercheV - Pblm Format ✓ - Forum Bureautique
- Carte mémoire issue d'un gps tomtom - Forum Matériel & Système
- Comment tester en vba la valeur d'une cellule Excel issue d'une formule ✓ - Forum Excel
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.