2017-04-10 78 views
-1

我認爲這是他們添加的順序,但出於某種奇怪的原因,「退出」項出現在子菜單上方。這裏是我的代碼:什麼決定訂購商品出現在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是一個TrayIcon。 (當這是一個C#.Net程序時,曾經是「NotifyIcon」) gram是包含我的主要方法的「Program」類的一個實例。

VCR說哈無法重現這個問題,所以這裏是我的系統信息:

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

我無法重現您的問題。你使用的是什麼版本的Java?在什麼操作系統發生這種情況? – VGR

+0

的openjdk版本 「1.8.0_121」 OpenJDK的運行時環境(建立1.8.0_121-B14) OpenJDK的64位服務器VM(建立25.121-B14,混合模式) 的Fedora Core 4.9.13-100.fc24.x86_64 的Xfce 4.12 讓我試試KDE和一個口頭Java,看看會發生什麼。 – jamie

回答

0

事實證明,我有這些後來的一個又一個在我的代碼:

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

我沒有注意到,添加了相同的o bject將移動對象而不是添加重複項。