如何将子菜单添加到MenuItem

Joh*_*ers 2 java swing system-tray awt popup

我正在尝试将子菜单添加到MenuItem系统托盘中弹出菜单中的子菜单.有没有办法实现这个目标?我找到了一些关于子菜单的解决方案,但他们使用JMenuItem,TrayIcon只接受PopupMenu只接受MenuItems.

试图实现这一点MenuItem:

图片

Mad*_*mer 5

A JMenuItem不支持子菜单,您需要使用另一个JMenu(添加到您JPopupMenu).有关详细信息,请参见如何使用菜单

例如...

在此输入图像描述

JPopupMenu popupMenu = new JPopupMenu();

JMenu deviceMenu = new JMenu("Add Device");
deviceMenu.add(new JMenuItem("Add More..."));

popupMenu.add(deviceMenu);
popupMenu.add(new JMenuItem("Delete Device"));
popupMenu.add(new JMenuItem("Fire"));
popupMenu.add(new JMenuItem("Fault"));
popupMenu.add(new JMenuItem("Supress"));
Run Code Online (Sandbox Code Playgroud)

(显然,你仍然需要为所有这些插件功能)

并且TrayIcon只接受仅接受MenuItems的PopupMenu.

有一个技巧,你必须作弊,看看当我在Java中左键单击TrayIcon时如何让PopupMenu出现?举个例子