From a2541a96599dc514e5f19df5f54eef605b3d86e5 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Sat, 2 May 2020 19:16:33 +0200 Subject: [PATCH] Menus: added gap between accelerator and arrow in menu items (issue #91) --- .../flatlaf/ui/FlatCheckBoxMenuItemUI.java | 2 +- .../flatlaf/ui/FlatMenuItemRenderer.java | 41 ++++++++------- .../formdev/flatlaf/ui/FlatMenuItemUI.java | 2 +- .../com/formdev/flatlaf/ui/FlatMenuUI.java | 2 +- .../flatlaf/ui/FlatRadioButtonMenuItemUI.java | 2 +- .../com/formdev/flatlaf/FlatLaf.properties | 5 +- .../flatlaf/testing/FlatMenusTest.java | 51 +++++++++++++++++++ .../formdev/flatlaf/testing/FlatMenusTest.jfd | 39 ++++++++++---- .../uidefaults/FlatDarkLaf_1.8.0_202-mac.txt | 11 ++-- .../uidefaults/FlatDarkLaf_1.8.0_202.txt | 11 ++-- .../uidefaults/FlatLightLaf_1.8.0_202-mac.txt | 11 ++-- .../uidefaults/FlatLightLaf_1.8.0_202.txt | 11 ++-- 12 files changed, 135 insertions(+), 53 deletions(-) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatCheckBoxMenuItemUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatCheckBoxMenuItemUI.java index f8131ce7..00526c0f 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatCheckBoxMenuItemUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatCheckBoxMenuItemUI.java @@ -55,8 +55,8 @@ import javax.swing.plaf.basic.BasicCheckBoxMenuItemUI; * * @uiDefault MenuItem.minimumIconSize Dimension * @uiDefault MenuItem.textAcceleratorGap int + * @uiDefault MenuItem.textNoAcceleratorGap int * @uiDefault MenuItem.acceleratorArrowGap int - * @uiDefault MenuItem.textArrowGap int * * @author Karl Tauber */ diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatMenuItemRenderer.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatMenuItemRenderer.java index 0c43583a..9ca67ed9 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatMenuItemRenderer.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatMenuItemRenderer.java @@ -54,10 +54,11 @@ public class FlatMenuItemRenderer protected final Font acceleratorFont; protected final String acceleratorDelimiter; - protected final int minimumWidth; + protected final int minimumWidth = UIManager.getInt( "MenuItem.minimumWidth" ); protected final Dimension minimumIconSize; - protected final int textAcceleratorGap; - protected final int textArrowGap; + protected final int textAcceleratorGap = FlatUIUtils.getUIInt( "MenuItem.textAcceleratorGap", 28 ); + protected final int textNoAcceleratorGap = FlatUIUtils.getUIInt( "MenuItem.textNoAcceleratorGap", 6 ); + protected final int acceleratorArrowGap = FlatUIUtils.getUIInt( "MenuItem.acceleratorArrowGap", 2 ); protected final Color underlineSelectionBackground = UIManager.getColor( "MenuItem.underlineSelectionBackground" ); protected final Color underlineSelectionColor = UIManager.getColor( "MenuItem.underlineSelectionColor" ); @@ -72,11 +73,8 @@ public class FlatMenuItemRenderer this.acceleratorFont = acceleratorFont; this.acceleratorDelimiter = acceleratorDelimiter; - minimumWidth = UIManager.getInt( "MenuItem.minimumWidth" ); Dimension minimumIconSize = UIManager.getDimension( "MenuItem.minimumIconSize" ); this.minimumIconSize = (minimumIconSize != null) ? minimumIconSize : new Dimension( 16, 16 ); - this.textAcceleratorGap = FlatUIUtils.getUIInt( "MenuItem.textAcceleratorGap", 28 ); - this.textArrowGap = FlatUIUtils.getUIInt( "MenuItem.textArrowGap", 8 ); } protected Dimension getPreferredMenuItemSize() { @@ -104,7 +102,7 @@ public class FlatMenuItemRenderer String accelText = getAcceleratorText(); if( accelText != null ) { // gap between text and accelerator - width += scale( textAcceleratorGap ); + width += scale( !isTopLevelMenu ? textAcceleratorGap : menuItem.getIconTextGap() ); FontMetrics accelFm = menuItem.getFontMetrics( acceleratorFont ); width += SwingUtilities.computeStringWidth( accelFm, accelText ); @@ -115,7 +113,10 @@ public class FlatMenuItemRenderer if( !isTopLevelMenu && arrowIcon != null ) { // gap between text and arrow if( accelText == null ) - width += scale( textArrowGap ); + width += scale( textNoAcceleratorGap ); + + // gap between accelerator and arrow + width += scale( acceleratorArrowGap ); width += arrowIcon.getIconWidth(); height = Math.max( arrowIcon.getIconHeight(), height ); @@ -136,7 +137,7 @@ public class FlatMenuItemRenderer } private void layout( Rectangle viewRect, Rectangle iconRect, Rectangle textRect, - Rectangle accelRect, Rectangle arrowRect ) + Rectangle accelRect, Rectangle arrowRect, Rectangle labelRect ) { boolean isTopLevelMenu = isTopLevelMenu( menuItem ); @@ -160,25 +161,29 @@ public class FlatMenuItemRenderer accelRect.setBounds( 0, 0, 0, 0 ); // compute horizontal positions of accelerator and arrow + int accelArrowGap = !isTopLevelMenu ? scale( acceleratorArrowGap ) : 0; if( menuItem.getComponentOrientation().isLeftToRight() ) { // left-to-right arrowRect.x = viewRect.x + viewRect.width - arrowRect.width; - accelRect.x = arrowRect.x - accelRect.width; + accelRect.x = arrowRect.x - accelArrowGap - accelRect.width; } else { // right-to-left arrowRect.x = viewRect.x; - accelRect.x = arrowRect.x + arrowRect.width; + accelRect.x = arrowRect.x + accelArrowGap + arrowRect.width; } // width of accelerator, arrow and gap int accelArrowWidth = accelRect.width + arrowRect.width; if( accelText != null ) - accelArrowWidth += scale( textAcceleratorGap ); - else if( !isTopLevelMenu && arrowIcon != null ) - accelArrowWidth += scale( textArrowGap ); + accelArrowWidth += scale( !isTopLevelMenu ? textAcceleratorGap : menuItem.getIconTextGap() ); + if( !isTopLevelMenu && arrowIcon != null ) { + if( accelText == null ) + accelArrowWidth += scale( textNoAcceleratorGap ); + accelArrowWidth += scale( acceleratorArrowGap ); + } // label rectangle is view rectangle subtracted by accelerator, arrow and gap - Rectangle labelRect = new Rectangle( viewRect ); + labelRect.setBounds( viewRect ); labelRect.width -= accelArrowWidth; if( !menuItem.getComponentOrientation().isLeftToRight() ) labelRect.x += accelArrowWidth; @@ -212,11 +217,13 @@ public class FlatMenuItemRenderer Rectangle textRect = new Rectangle(); Rectangle accelRect = new Rectangle(); Rectangle arrowRect = new Rectangle(); + Rectangle labelRect = new Rectangle(); - layout( viewRect, iconRect, textRect, accelRect, arrowRect ); + layout( viewRect, iconRect, textRect, accelRect, arrowRect, labelRect ); /*debug - g.setColor( Color.red ); g.drawRect( viewRect.x, viewRect.y, viewRect.width - 1, viewRect.height - 1 ); + g.setColor( Color.green ); g.drawRect( viewRect.x, viewRect.y, viewRect.width - 1, viewRect.height - 1 ); + g.setColor( Color.red ); g.drawRect( labelRect.x, labelRect.y, labelRect.width - 1, labelRect.height - 1 ); g.setColor( Color.blue ); g.drawRect( iconRect.x, iconRect.y, iconRect.width - 1, iconRect.height - 1 ); g.setColor( Color.cyan ); g.drawRect( textRect.x, textRect.y, textRect.width - 1, textRect.height - 1 ); g.setColor( Color.magenta ); g.drawRect( accelRect.x, accelRect.y, accelRect.width - 1, accelRect.height - 1 ); diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatMenuItemUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatMenuItemUI.java index 70e1a0bb..f88cb372 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatMenuItemUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatMenuItemUI.java @@ -49,8 +49,8 @@ import javax.swing.plaf.basic.BasicMenuItemUI; * * @uiDefault MenuItem.minimumIconSize Dimension * @uiDefault MenuItem.textAcceleratorGap int + * @uiDefault MenuItem.textNoAcceleratorGap int * @uiDefault MenuItem.acceleratorArrowGap int - * @uiDefault MenuItem.textArrowGap int * * @author Karl Tauber */ diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatMenuUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatMenuUI.java index 91b4f36e..7600c054 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatMenuUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatMenuUI.java @@ -64,8 +64,8 @@ import javax.swing.plaf.basic.BasicMenuUI; * * @uiDefault MenuItem.minimumIconSize Dimension * @uiDefault MenuItem.textAcceleratorGap int + * @uiDefault MenuItem.textNoAcceleratorGap int * @uiDefault MenuItem.acceleratorArrowGap int - * @uiDefault MenuItem.textArrowGap int * * @author Karl Tauber */ diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatRadioButtonMenuItemUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatRadioButtonMenuItemUI.java index 3991d438..970674bd 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatRadioButtonMenuItemUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatRadioButtonMenuItemUI.java @@ -55,8 +55,8 @@ import javax.swing.plaf.basic.BasicRadioButtonMenuItemUI; * * @uiDefault MenuItem.minimumIconSize Dimension * @uiDefault MenuItem.textAcceleratorGap int + * @uiDefault MenuItem.textNoAcceleratorGap int * @uiDefault MenuItem.acceleratorArrowGap int - * @uiDefault MenuItem.textArrowGap int * * @author Karl Tauber */ diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties index af705b1f..c5723721 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties @@ -64,7 +64,7 @@ ViewportUI=com.formdev.flatlaf.ui.FlatViewportUI #---- variables ---- @textComponentMargin=2,6,2,6 -@menuItemMargin=2,8,2,8 +@menuItemMargin=2,6,2,6 #---- system colors ---- @@ -315,7 +315,8 @@ MenuItem.background=@menuBackground MenuItem.minimumWidth=72 MenuItem.minimumIconSize=16,16 MenuItem.textAcceleratorGap=24 -MenuItem.textArrowGap=8 +MenuItem.textNoAcceleratorGap=6 +MenuItem.acceleratorArrowGap=2 MenuItem.acceleratorDelimiter=- [mac]MenuItem.acceleratorDelimiter= diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatMenusTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatMenusTest.java index a8436742..5d57730c 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatMenusTest.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatMenusTest.java @@ -145,6 +145,10 @@ public class FlatMenusTest JMenu menu6 = new JMenu(); JMenuItem menuItem5 = new JMenuItem(); JMenuItem menuItem6 = new JMenuItem(); + FlatMenusTest.MenuWithAccelerator menuWithAccelerator1 = new FlatMenusTest.MenuWithAccelerator(); + FlatMenusTest.MenuWithAccelerator menuWithAccelerator2 = new FlatMenusTest.MenuWithAccelerator(); + JMenuItem menuItem40 = new JMenuItem(); + JMenuItem menuItem39 = new JMenuItem(); menuBar2 = new JMenuBar(); JMenu menu8 = new JMenu(); FlatMenusTest.LargerMenuItem menuItem13 = new FlatMenusTest.LargerMenuItem(); @@ -322,6 +326,29 @@ public class FlatMenusTest menu6.add(menuItem6); } menuBar1.add(menu6); + + //======== menuWithAccelerator1 ======== + { + menuWithAccelerator1.setText("text"); + menuWithAccelerator1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F11, 0)); + + //======== menuWithAccelerator2 ======== + { + menuWithAccelerator2.setText("text"); + menuWithAccelerator2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H, KeyEvent.CTRL_MASK)); + + //---- menuItem40 ---- + menuItem40.setText("text"); + menuWithAccelerator2.add(menuItem40); + } + menuWithAccelerator1.add(menuWithAccelerator2); + + //---- menuItem39 ---- + menuItem39.setText("text"); + menuItem39.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H, KeyEvent.CTRL_MASK)); + menuWithAccelerator1.add(menuItem39); + } + menuBar1.add(menuWithAccelerator1); } add(menuBar1, "cell 1 0 2 1,growx"); @@ -808,4 +835,28 @@ public class FlatMenusTest g.drawLine( 0, getHeight(), getWidth(), getHeight() ); } } + + //---- class MenuWithAccelerator ------------------------------------------ + + public static class MenuWithAccelerator + extends JMenu + { + private KeyStroke accelerator; + + @Override + public KeyStroke getAccelerator() { + return accelerator; + } + + @Override + public void setAccelerator( KeyStroke keyStroke ) { + KeyStroke oldAccelerator = accelerator; + this.accelerator = keyStroke; + + revalidate(); + repaint(); + + firePropertyChange( "accelerator", oldAccelerator, accelerator ); + } + } } diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatMenusTest.jfd b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatMenusTest.jfd index d4eb8f32..be75e601 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatMenusTest.jfd +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatMenusTest.jfd @@ -120,6 +120,25 @@ new FormModel { "text": "text" } ) } ) + add( new FormContainer( "com.formdev.flatlaf.testing.FlatMenusTest$MenuWithAccelerator", new FormLayoutManager( class javax.swing.JMenu ) ) { + name: "menuWithAccelerator1" + "text": "text" + "accelerator": static javax.swing.KeyStroke getKeyStroke( 122, 0, false ) + add( new FormContainer( "com.formdev.flatlaf.testing.FlatMenusTest$MenuWithAccelerator", new FormLayoutManager( class javax.swing.JMenu ) ) { + name: "menuWithAccelerator2" + "text": "text" + "accelerator": &KeyStroke0 static javax.swing.KeyStroke getKeyStroke( 72, 130, false ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem40" + "text": "text" + } ) + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem39" + "text": "text" + "accelerator": #KeyStroke0 + } ) + } ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 0 2 1,growx" } ) @@ -345,7 +364,7 @@ new FormModel { add( new FormComponent( "javax.swing.JCheckBoxMenuItem" ) { name: "checkBoxMenuItem1" "text": "enabled" - "accelerator": &KeyStroke0 static javax.swing.KeyStroke getKeyStroke( 112, 0, false ) + "accelerator": &KeyStroke1 static javax.swing.KeyStroke getKeyStroke( 112, 0, false ) "mnemonic": 65 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 2" @@ -359,7 +378,7 @@ new FormModel { add( new FormComponent( "javax.swing.JRadioButtonMenuItem" ) { name: "radioButtonMenuItem1" "text": "enabled" - "accelerator": #KeyStroke0 + "accelerator": #KeyStroke1 "mnemonic": 66 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 3" @@ -406,7 +425,7 @@ new FormModel { name: "checkBoxMenuItem2" "text": "disabled" "enabled": false - "accelerator": #KeyStroke0 + "accelerator": #KeyStroke1 "mnemonic": 83 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 0 2" @@ -415,7 +434,7 @@ new FormModel { name: "radioButtonMenuItem2" "text": "disabled" "enabled": false - "accelerator": #KeyStroke0 + "accelerator": #KeyStroke1 "mnemonic": 76 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 0 3" @@ -441,7 +460,7 @@ new FormModel { name: "menuItem3" "text": "selected" "selected": true - "accelerator": #KeyStroke0 + "accelerator": #KeyStroke1 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 0 1" } ) @@ -449,7 +468,7 @@ new FormModel { name: "checkBoxMenuItem3" "text": "selected" "selected": true - "accelerator": #KeyStroke0 + "accelerator": #KeyStroke1 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 0 2" } ) @@ -457,7 +476,7 @@ new FormModel { name: "radioButtonMenuItem3" "text": "selected" "selected": true - "accelerator": #KeyStroke0 + "accelerator": #KeyStroke1 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 0 3" } ) @@ -483,7 +502,7 @@ new FormModel { "text": "selected disabled" "selected": true "enabled": false - "accelerator": #KeyStroke0 + "accelerator": #KeyStroke1 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 0 1" } ) @@ -492,7 +511,7 @@ new FormModel { "text": "selected disabled" "enabled": false "selected": true - "accelerator": #KeyStroke0 + "accelerator": #KeyStroke1 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 0 2" } ) @@ -501,7 +520,7 @@ new FormModel { "text": "selected disabled" "enabled": false "selected": true - "accelerator": #KeyStroke0 + "accelerator": #KeyStroke1 }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 0 3" } ) diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202-mac.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202-mac.txt index 5ff98c35..80b29cd1 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202-mac.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202-mac.txt @@ -149,7 +149,7 @@ CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatChe CheckBoxMenuItem.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.font [active] $defaultFont [UI] CheckBoxMenuItem.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -CheckBoxMenuItem.margin 2,8,2,8 javax.swing.plaf.InsetsUIResource [UI] +CheckBoxMenuItem.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] CheckBoxMenuItem.opaque false CheckBoxMenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] @@ -476,7 +476,7 @@ Menu.font [active] $defaultFont [UI] Menu.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] Menu.icon.arrowColor #a7a7a7 javax.swing.plaf.ColorUIResource [UI] Menu.icon.disabledArrowColor #606060 javax.swing.plaf.ColorUIResource [UI] -Menu.margin 2,8,2,8 javax.swing.plaf.InsetsUIResource [UI] +Menu.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] Menu.menuPopupOffsetX 0 Menu.menuPopupOffsetY 0 Menu.opaque false @@ -508,6 +508,7 @@ MenuBarUI com.formdev.flatlaf.ui.FlatMenuBarUI #---- MenuItem ---- +MenuItem.acceleratorArrowGap 2 MenuItem.acceleratorDelimiter MenuItem.acceleratorFont [active] $defaultFont [UI] MenuItem.acceleratorForeground #959595 javax.swing.plaf.ColorUIResource [UI] @@ -519,14 +520,14 @@ MenuItem.borderPainted true MenuItem.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI] MenuItem.font [active] $defaultFont [UI] MenuItem.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -MenuItem.margin 2,8,2,8 javax.swing.plaf.InsetsUIResource [UI] +MenuItem.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] MenuItem.minimumIconSize 16,16 javax.swing.plaf.DimensionUIResource [UI] MenuItem.minimumWidth 72 MenuItem.opaque false MenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] MenuItem.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] MenuItem.textAcceleratorGap 24 -MenuItem.textArrowGap 8 +MenuItem.textNoAcceleratorGap 6 MenuItem.underlineSelectionBackground #484c4f javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionColor #4a88c7 javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionHeight 3 @@ -702,7 +703,7 @@ RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRad RadioButtonMenuItem.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.font [active] $defaultFont [UI] RadioButtonMenuItem.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -RadioButtonMenuItem.margin 2,8,2,8 javax.swing.plaf.InsetsUIResource [UI] +RadioButtonMenuItem.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] RadioButtonMenuItem.opaque false RadioButtonMenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt index fc85fc5e..efa56545 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt @@ -149,7 +149,7 @@ CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatChe CheckBoxMenuItem.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.font [active] $defaultFont [UI] CheckBoxMenuItem.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -CheckBoxMenuItem.margin 2,8,2,8 javax.swing.plaf.InsetsUIResource [UI] +CheckBoxMenuItem.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] CheckBoxMenuItem.opaque false CheckBoxMenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] @@ -475,7 +475,7 @@ Menu.font [active] $defaultFont [UI] Menu.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] Menu.icon.arrowColor #a7a7a7 javax.swing.plaf.ColorUIResource [UI] Menu.icon.disabledArrowColor #606060 javax.swing.plaf.ColorUIResource [UI] -Menu.margin 2,8,2,8 javax.swing.plaf.InsetsUIResource [UI] +Menu.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] Menu.menuPopupOffsetX 0 Menu.menuPopupOffsetY 0 Menu.opaque false @@ -507,6 +507,7 @@ MenuBarUI com.formdev.flatlaf.ui.FlatMenuBarUI #---- MenuItem ---- +MenuItem.acceleratorArrowGap 2 MenuItem.acceleratorDelimiter - MenuItem.acceleratorFont [active] $defaultFont [UI] MenuItem.acceleratorForeground #959595 javax.swing.plaf.ColorUIResource [UI] @@ -518,14 +519,14 @@ MenuItem.borderPainted true MenuItem.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI] MenuItem.font [active] $defaultFont [UI] MenuItem.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -MenuItem.margin 2,8,2,8 javax.swing.plaf.InsetsUIResource [UI] +MenuItem.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] MenuItem.minimumIconSize 16,16 javax.swing.plaf.DimensionUIResource [UI] MenuItem.minimumWidth 72 MenuItem.opaque false MenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] MenuItem.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] MenuItem.textAcceleratorGap 24 -MenuItem.textArrowGap 8 +MenuItem.textNoAcceleratorGap 6 MenuItem.underlineSelectionBackground #484c4f javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionColor #4a88c7 javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionHeight 3 @@ -700,7 +701,7 @@ RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRad RadioButtonMenuItem.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.font [active] $defaultFont [UI] RadioButtonMenuItem.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -RadioButtonMenuItem.margin 2,8,2,8 javax.swing.plaf.InsetsUIResource [UI] +RadioButtonMenuItem.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] RadioButtonMenuItem.opaque false RadioButtonMenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202-mac.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202-mac.txt index 02a2427a..db8adf87 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202-mac.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202-mac.txt @@ -150,7 +150,7 @@ CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatChe CheckBoxMenuItem.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.font [active] $defaultFont [UI] CheckBoxMenuItem.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -CheckBoxMenuItem.margin 2,8,2,8 javax.swing.plaf.InsetsUIResource [UI] +CheckBoxMenuItem.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] CheckBoxMenuItem.opaque false CheckBoxMenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] @@ -478,7 +478,7 @@ Menu.font [active] $defaultFont [UI] Menu.foreground #000000 javax.swing.plaf.ColorUIResource [UI] Menu.icon.arrowColor #666666 javax.swing.plaf.ColorUIResource [UI] Menu.icon.disabledArrowColor #ababab javax.swing.plaf.ColorUIResource [UI] -Menu.margin 2,8,2,8 javax.swing.plaf.InsetsUIResource [UI] +Menu.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] Menu.menuPopupOffsetX 0 Menu.menuPopupOffsetY 0 Menu.opaque false @@ -510,6 +510,7 @@ MenuBarUI com.formdev.flatlaf.ui.FlatMenuBarUI #---- MenuItem ---- +MenuItem.acceleratorArrowGap 2 MenuItem.acceleratorDelimiter MenuItem.acceleratorFont [active] $defaultFont [UI] MenuItem.acceleratorForeground #4d4d4d javax.swing.plaf.ColorUIResource [UI] @@ -521,14 +522,14 @@ MenuItem.borderPainted true MenuItem.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] MenuItem.font [active] $defaultFont [UI] MenuItem.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -MenuItem.margin 2,8,2,8 javax.swing.plaf.InsetsUIResource [UI] +MenuItem.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] MenuItem.minimumIconSize 16,16 javax.swing.plaf.DimensionUIResource [UI] MenuItem.minimumWidth 72 MenuItem.opaque false MenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] MenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] MenuItem.textAcceleratorGap 24 -MenuItem.textArrowGap 8 +MenuItem.textNoAcceleratorGap 6 MenuItem.underlineSelectionBackground #e6e6e6 javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionColor #4083c9 javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionHeight 3 @@ -704,7 +705,7 @@ RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRad RadioButtonMenuItem.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.font [active] $defaultFont [UI] RadioButtonMenuItem.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -RadioButtonMenuItem.margin 2,8,2,8 javax.swing.plaf.InsetsUIResource [UI] +RadioButtonMenuItem.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] RadioButtonMenuItem.opaque false RadioButtonMenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt index 119b4e7d..2099b21d 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt @@ -150,7 +150,7 @@ CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatChe CheckBoxMenuItem.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.font [active] $defaultFont [UI] CheckBoxMenuItem.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -CheckBoxMenuItem.margin 2,8,2,8 javax.swing.plaf.InsetsUIResource [UI] +CheckBoxMenuItem.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] CheckBoxMenuItem.opaque false CheckBoxMenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] @@ -477,7 +477,7 @@ Menu.font [active] $defaultFont [UI] Menu.foreground #000000 javax.swing.plaf.ColorUIResource [UI] Menu.icon.arrowColor #666666 javax.swing.plaf.ColorUIResource [UI] Menu.icon.disabledArrowColor #ababab javax.swing.plaf.ColorUIResource [UI] -Menu.margin 2,8,2,8 javax.swing.plaf.InsetsUIResource [UI] +Menu.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] Menu.menuPopupOffsetX 0 Menu.menuPopupOffsetY 0 Menu.opaque false @@ -509,6 +509,7 @@ MenuBarUI com.formdev.flatlaf.ui.FlatMenuBarUI #---- MenuItem ---- +MenuItem.acceleratorArrowGap 2 MenuItem.acceleratorDelimiter - MenuItem.acceleratorFont [active] $defaultFont [UI] MenuItem.acceleratorForeground #4d4d4d javax.swing.plaf.ColorUIResource [UI] @@ -520,14 +521,14 @@ MenuItem.borderPainted true MenuItem.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] MenuItem.font [active] $defaultFont [UI] MenuItem.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -MenuItem.margin 2,8,2,8 javax.swing.plaf.InsetsUIResource [UI] +MenuItem.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] MenuItem.minimumIconSize 16,16 javax.swing.plaf.DimensionUIResource [UI] MenuItem.minimumWidth 72 MenuItem.opaque false MenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] MenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] MenuItem.textAcceleratorGap 24 -MenuItem.textArrowGap 8 +MenuItem.textNoAcceleratorGap 6 MenuItem.underlineSelectionBackground #e6e6e6 javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionColor #4083c9 javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionHeight 3 @@ -702,7 +703,7 @@ RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRad RadioButtonMenuItem.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.font [active] $defaultFont [UI] RadioButtonMenuItem.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -RadioButtonMenuItem.margin 2,8,2,8 javax.swing.plaf.InsetsUIResource [UI] +RadioButtonMenuItem.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] RadioButtonMenuItem.opaque false RadioButtonMenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]