如何将子菜单添加到 MenuItem
How to add submenu to MenuItem
我正在尝试将子菜单添加到系统托盘弹出菜单中的 MenuItem
。有什么办法可以做到这一点?我找到了一些关于子菜单的解决方案,但它们使用 JMenuItem
,而 TrayIcon
只接受 PopupMenu
,而 PopupMenu
只接受 MenuItem
。
尝试通过 MenuItem
实现此目标:
一个JMenuItem
不支持子菜单,你需要用另一个JMenu
(加你JPopupMenu
)。有关详细信息,请参阅 How to Use Menus
例如...
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"));
(显然,您仍然需要为所有这些插件功能)
and TrayIcon only accepts PopupMenu which only accepts MenuItems.
有个窍门,要骗一点,看How do I get a PopupMenu to show up when I left-click on a TrayIcon in Java?的例子
当然,你只是在PopupMenu
中添加一个名为"Add Device"的Menu
(Menu
是MenuItem
的子类,所以可以添加).
PopupMenu popupMenu = new PopupMenu();
Menu subMenu = new Menu("Add Device");
subMenu.add(new MenuItem("Add More .."));
popupMenu.add(subMenu);
我正在尝试将子菜单添加到系统托盘弹出菜单中的 MenuItem
。有什么办法可以做到这一点?我找到了一些关于子菜单的解决方案,但它们使用 JMenuItem
,而 TrayIcon
只接受 PopupMenu
,而 PopupMenu
只接受 MenuItem
。
尝试通过 MenuItem
实现此目标:
一个JMenuItem
不支持子菜单,你需要用另一个JMenu
(加你JPopupMenu
)。有关详细信息,请参阅 How to Use Menus
例如...
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"));
(显然,您仍然需要为所有这些插件功能)
and TrayIcon only accepts PopupMenu which only accepts MenuItems.
有个窍门,要骗一点,看How do I get a PopupMenu to show up when I left-click on a TrayIcon in Java?的例子
当然,你只是在PopupMenu
中添加一个名为"Add Device"的Menu
(Menu
是MenuItem
的子类,所以可以添加).
PopupMenu popupMenu = new PopupMenu();
Menu subMenu = new Menu("Add Device");
subMenu.add(new MenuItem("Add More .."));
popupMenu.add(subMenu);