diff --git a/jar library/swing-glasspane-popup-1.4.0.jar b/jar library/swing-glasspane-popup-1.5.0.jar similarity index 78% rename from jar library/swing-glasspane-popup-1.4.0.jar rename to jar library/swing-glasspane-popup-1.5.0.jar index f0c928b..7841ce6 100644 Binary files a/jar library/swing-glasspane-popup-1.4.0.jar and b/jar library/swing-glasspane-popup-1.5.0.jar differ diff --git a/pom.xml b/pom.xml index 1426b00..4def95e 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ raven.popup swing-glasspane-popup - 1.4.0 + 1.5.0 1.8 diff --git a/src/main/java/raven/drawer/component/menu/SimpleMenu.java b/src/main/java/raven/drawer/component/menu/SimpleMenu.java index 06dd7b4..32058cd 100644 --- a/src/main/java/raven/drawer/component/menu/SimpleMenu.java +++ b/src/main/java/raven/drawer/component/menu/SimpleMenu.java @@ -229,8 +229,12 @@ private void init() { setLayout(menuLayout); // Use opaque true on the first submenu panel to fix g2d draw arrow line setOpaque(menuLevel == 0); - putClientProperty(FlatClientProperties.STYLE, "" + + if (simpleMenuOption.simpleMenuStyle != null) { + simpleMenuOption.simpleMenuStyle.styleMenuPanel(this, copyArray(this.index)); + } + FlatLafStyleUtils.appendStyleIfAbsent(FlatClientProperties.STYLE, "" + "background:null"); + iconWidth = 22; int index = 0; int validationIndex = -1; diff --git a/src/main/java/raven/drawer/component/menu/SimpleMenuStyle.java b/src/main/java/raven/drawer/component/menu/SimpleMenuStyle.java index 9ce006e..01e9f58 100644 --- a/src/main/java/raven/drawer/component/menu/SimpleMenuStyle.java +++ b/src/main/java/raven/drawer/component/menu/SimpleMenuStyle.java @@ -7,6 +7,9 @@ public abstract class SimpleMenuStyle { public void styleMenu(JComponent component) { } + public void styleMenuPanel(JPanel panel, int[] index) { + } + public void styleMenuItem(JButton menu, int[] index) { } diff --git a/src/test/java/test/MyDrawerBuilder.java b/src/test/java/test/MyDrawerBuilder.java index c978c2d..f594ba7 100644 --- a/src/test/java/test/MyDrawerBuilder.java +++ b/src/test/java/test/MyDrawerBuilder.java @@ -138,8 +138,14 @@ public void selected(MenuAction action, int[] index) { } }); simpleMenuOption.setMenuStyle(new SimpleMenuStyle() { + @Override + public void styleMenuPanel(JPanel panel, int[] index) { + // style submenu panel here + } + @Override public void styleMenuItem(JButton menu, int[] index) { + menu.setContentAreaFilled(false); menu.putClientProperty(FlatClientProperties.STYLE, "" + "[light]foreground:#FAFAFA;" + "arc:0");