Lorsque je laisse un popup JPopupMenu sans passer le "composant invoker", le menu ne fonctionne pas: les sous-menus ne s'ouvrent pas et ne sont pas repeints. Mais quand je crée un JFrame complètement inutile avec un JLabel dedans, et je passe le JLabal comme invocateur, cela fonctionne correctement ...Java: Afficher JPopupMenu sans passer un composant invoker
Toutes les suggestions, comment éviter de créer un cadre inutile. Et mon application n'a vraiment pas de cadres ouverts, il suffit de faire apparaître un menu simple.
JPopupMenu.show(null, xOnTheScreen, yOnTheScreen); // Doesn't work
JPopupMenu.show(aStupidJLabelInAStupidJFrame, x, y); // Works
Merci
Votre application de swing doit être dans un certain JPanel, à tout le moins. N'est-ce pas? –
Si vous utilisez le menu contextuel en tant que pop-up pour une icône de la barre d'état du bureau, vous n'aurez aucun composant à utiliser pour le paramètre invoker. Je me souviens d'avoir un problème similaire. – Durandal