|
@@ -84,18 +84,19 @@ public class AwtTrayMenuController implements TrayMenuController {
|
|
|
|
|
|
private void addChildren(Menu menu, List<TrayMenuItem> items) {
|
|
|
for (var item : items) {
|
|
|
-
|
|
|
- if (item instanceof ActionItem a) {
|
|
|
- var menuItem = new MenuItem(a.title());
|
|
|
- menuItem.addActionListener(evt -> a.action().run());
|
|
|
- menuItem.setEnabled(a.enabled());
|
|
|
- menu.add(menuItem);
|
|
|
- } else if (item instanceof SeparatorItem) {
|
|
|
- menu.addSeparator();
|
|
|
- } else if (item instanceof SubMenuItem s) {
|
|
|
- var submenu = new Menu(s.title());
|
|
|
- addChildren(submenu, s.items());
|
|
|
- menu.add(submenu);
|
|
|
+ switch (item) {
|
|
|
+ case ActionItem a -> {
|
|
|
+ var menuItem = new MenuItem(a.title());
|
|
|
+ menuItem.addActionListener(evt -> a.action().run());
|
|
|
+ menuItem.setEnabled(a.enabled());
|
|
|
+ menu.add(menuItem);
|
|
|
+ }
|
|
|
+ case SeparatorItem si -> menu.addSeparator();
|
|
|
+ case SubMenuItem smi -> {
|
|
|
+ var submenu = new Menu(smi.title());
|
|
|
+ addChildren(submenu, smi.items());
|
|
|
+ menu.add(submenu);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|