Menus: added gap between accelerator and arrow in menu items (issue #91)

This commit is contained in:
Karl Tauber
2020-05-02 19:16:33 +02:00
parent 099dd87241
commit a2541a9659
12 changed files with 135 additions and 53 deletions

View File

@@ -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
*/

View File

@@ -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 );

View File

@@ -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
*/

View File

@@ -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
*/

View File

@@ -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
*/

View File

@@ -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=

View File

@@ -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 );
}
}
}

View File

@@ -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": "<html>en<b>abl</b>ed</html>"
"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": "<html>en<b color=\"red\">abl</b><i color=\"blue\">ed</i></html>"
"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"
} )

View File

@@ -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]

View File

@@ -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]

View File

@@ -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]

View File

@@ -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]