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
- 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
- Utiliser fichier issue de Photoshop dans impression pour flocage - Forum Photoshop
- Internal hard disk drive not found to resolve this issue ,try to reseat the driv - Forum Windows
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.