是什么决定了订单项出现在java.awt.PopupMenu中?

时间:2017-04-10 19:48:03

标签: java trayicon

我认为这是他们被添加的顺序但是由于一些奇怪的原因,“退出”项目出现在子菜单上方。这是我的代码:

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

1 个答案:

答案 0 :(得分:0)

事实证明我后来在我的代码中有另外一个:

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

我没注意到,因为添加相同的对象会移动对象而不是添加副本。