我认为这是他们被添加的顺序但是由于一些奇怪的原因,“退出”项目出现在子菜单上方。这是我的代码:
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是TrayIcon。 (当这是一个C#.Net程序时,曾经是“NotifyIcon”) gram是包含我的main方法的“Program”类的一个实例。
vcr说ha无法重现这个问题,所以这是我的系统信息:
OpenJDK版本“1.8.0_121”OpenJDK运行时环境(版本1.8.0_121-b14)OpenJDK 64位服务器VM(版本25.121-b14,混合模式) Fedora Core 24,内核4.9.13-100.fc24.x86_64 Xfce 4.12
答案 0 :(得分:0)
事实证明我后来在我的代码中有另外一个:
gram._ni.getPopupMenu().add(gram._voiceMenu);
我没注意到,因为添加相同的对象会移动对象而不是添加副本。