2017-04-10 1 views
-1

Je pensais que c'était l'ordre dans lequel ils avaient été ajoutés, mais pour une raison étrange, l'élément "Quitter" apparaît au-dessus du sous-menu. Voici mon code:Qu'est-ce qui détermine les éléments de la commande dans java.awt.PopupMenu?

gram._ni.setPopupMenu(new PopupMenu()); 
gram._ni.getPopupMenu().add("Re-Read"); 
gram._ni.getPopupMenu().add("Pronunciations"); 
gram._ni.getPopupMenu().add("Pause"); 
gram._ni.getPopupMenu().add("Stop"); 
gram._ni.getPopupMenu().add(gram._voiceMenu); 
gram._ni.getPopupMenu().add("Exit"); 

_ni est un TrayIcon. (utilisé pour être un "NotifyIcon" quand il s'agissait d'un programme C# .Net) gram est une instance de la classe "Program" qui contient ma méthode principale.

dit magnetoscope ha ne peut pas reproduire ce problème, voici donc mon information système:

Version OpenJDK "1.8.0_121" OpenJDK Runtime Environment (build 1.8.0_121-b14) OpenJDK 64 bits serveur VM (build 25,121-b14, mode mixte) Fedora Core 24, noyau 4.9.13-100.fc24.x86_64 Xfce 4.12

+0

Je n'arrive pas à reproduire votre problème. Quelle version de Java utilisez-vous? Sur quel système d'exploitation cela se produit-il? – VGR

+0

la version OpenJDK "1.8.0_121" OpenJDK Runtime Environment (build 1.8.0_121-b14) OpenJDK 64 bits serveur VM (build 25,121-b14, mode mixte) Fedora Core 4.9.13-100.fc24.x86_64 Xfce 4.12 Laissez-moi essayer KDE et un Java Oral et voir ce qui se passe. – jamie

Répondre

0

Il se trouve que j'avais un autre de ces plus tard dans mon code:

gram._ni.getPopupMenu().add(gram._voiceMenu); 

Je n'ai pas remarqué depuis, ajoutant le même o bject va déplacer l'objet plutôt que d'ajouter un doublon.