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.minimumIconSize Dimension
* @uiDefault MenuItem.textAcceleratorGap int * @uiDefault MenuItem.textAcceleratorGap int
* @uiDefault MenuItem.textNoAcceleratorGap int
* @uiDefault MenuItem.acceleratorArrowGap int * @uiDefault MenuItem.acceleratorArrowGap int
* @uiDefault MenuItem.textArrowGap int
* *
* @author Karl Tauber * @author Karl Tauber
*/ */

View File

@@ -54,10 +54,11 @@ public class FlatMenuItemRenderer
protected final Font acceleratorFont; protected final Font acceleratorFont;
protected final String acceleratorDelimiter; protected final String acceleratorDelimiter;
protected final int minimumWidth; protected final int minimumWidth = UIManager.getInt( "MenuItem.minimumWidth" );
protected final Dimension minimumIconSize; protected final Dimension minimumIconSize;
protected final int textAcceleratorGap; protected final int textAcceleratorGap = FlatUIUtils.getUIInt( "MenuItem.textAcceleratorGap", 28 );
protected final int textArrowGap; 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 underlineSelectionBackground = UIManager.getColor( "MenuItem.underlineSelectionBackground" );
protected final Color underlineSelectionColor = UIManager.getColor( "MenuItem.underlineSelectionColor" ); protected final Color underlineSelectionColor = UIManager.getColor( "MenuItem.underlineSelectionColor" );
@@ -72,11 +73,8 @@ public class FlatMenuItemRenderer
this.acceleratorFont = acceleratorFont; this.acceleratorFont = acceleratorFont;
this.acceleratorDelimiter = acceleratorDelimiter; this.acceleratorDelimiter = acceleratorDelimiter;
minimumWidth = UIManager.getInt( "MenuItem.minimumWidth" );
Dimension minimumIconSize = UIManager.getDimension( "MenuItem.minimumIconSize" ); Dimension minimumIconSize = UIManager.getDimension( "MenuItem.minimumIconSize" );
this.minimumIconSize = (minimumIconSize != null) ? minimumIconSize : new Dimension( 16, 16 ); 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() { protected Dimension getPreferredMenuItemSize() {
@@ -104,7 +102,7 @@ public class FlatMenuItemRenderer
String accelText = getAcceleratorText(); String accelText = getAcceleratorText();
if( accelText != null ) { if( accelText != null ) {
// gap between text and accelerator // gap between text and accelerator
width += scale( textAcceleratorGap ); width += scale( !isTopLevelMenu ? textAcceleratorGap : menuItem.getIconTextGap() );
FontMetrics accelFm = menuItem.getFontMetrics( acceleratorFont ); FontMetrics accelFm = menuItem.getFontMetrics( acceleratorFont );
width += SwingUtilities.computeStringWidth( accelFm, accelText ); width += SwingUtilities.computeStringWidth( accelFm, accelText );
@@ -115,7 +113,10 @@ public class FlatMenuItemRenderer
if( !isTopLevelMenu && arrowIcon != null ) { if( !isTopLevelMenu && arrowIcon != null ) {
// gap between text and arrow // gap between text and arrow
if( accelText == null ) if( accelText == null )
width += scale( textArrowGap ); width += scale( textNoAcceleratorGap );
// gap between accelerator and arrow
width += scale( acceleratorArrowGap );
width += arrowIcon.getIconWidth(); width += arrowIcon.getIconWidth();
height = Math.max( arrowIcon.getIconHeight(), height ); height = Math.max( arrowIcon.getIconHeight(), height );
@@ -136,7 +137,7 @@ public class FlatMenuItemRenderer
} }
private void layout( Rectangle viewRect, Rectangle iconRect, Rectangle textRect, private void layout( Rectangle viewRect, Rectangle iconRect, Rectangle textRect,
Rectangle accelRect, Rectangle arrowRect ) Rectangle accelRect, Rectangle arrowRect, Rectangle labelRect )
{ {
boolean isTopLevelMenu = isTopLevelMenu( menuItem ); boolean isTopLevelMenu = isTopLevelMenu( menuItem );
@@ -160,25 +161,29 @@ public class FlatMenuItemRenderer
accelRect.setBounds( 0, 0, 0, 0 ); accelRect.setBounds( 0, 0, 0, 0 );
// compute horizontal positions of accelerator and arrow // compute horizontal positions of accelerator and arrow
int accelArrowGap = !isTopLevelMenu ? scale( acceleratorArrowGap ) : 0;
if( menuItem.getComponentOrientation().isLeftToRight() ) { if( menuItem.getComponentOrientation().isLeftToRight() ) {
// left-to-right // left-to-right
arrowRect.x = viewRect.x + viewRect.width - arrowRect.width; arrowRect.x = viewRect.x + viewRect.width - arrowRect.width;
accelRect.x = arrowRect.x - accelRect.width; accelRect.x = arrowRect.x - accelArrowGap - accelRect.width;
} else { } else {
// right-to-left // right-to-left
arrowRect.x = viewRect.x; arrowRect.x = viewRect.x;
accelRect.x = arrowRect.x + arrowRect.width; accelRect.x = arrowRect.x + accelArrowGap + arrowRect.width;
} }
// width of accelerator, arrow and gap // width of accelerator, arrow and gap
int accelArrowWidth = accelRect.width + arrowRect.width; int accelArrowWidth = accelRect.width + arrowRect.width;
if( accelText != null ) if( accelText != null )
accelArrowWidth += scale( textAcceleratorGap ); accelArrowWidth += scale( !isTopLevelMenu ? textAcceleratorGap : menuItem.getIconTextGap() );
else if( !isTopLevelMenu && arrowIcon != null ) if( !isTopLevelMenu && arrowIcon != null ) {
accelArrowWidth += scale( textArrowGap ); if( accelText == null )
accelArrowWidth += scale( textNoAcceleratorGap );
accelArrowWidth += scale( acceleratorArrowGap );
}
// label rectangle is view rectangle subtracted by accelerator, arrow and gap // label rectangle is view rectangle subtracted by accelerator, arrow and gap
Rectangle labelRect = new Rectangle( viewRect ); labelRect.setBounds( viewRect );
labelRect.width -= accelArrowWidth; labelRect.width -= accelArrowWidth;
if( !menuItem.getComponentOrientation().isLeftToRight() ) if( !menuItem.getComponentOrientation().isLeftToRight() )
labelRect.x += accelArrowWidth; labelRect.x += accelArrowWidth;
@@ -212,11 +217,13 @@ public class FlatMenuItemRenderer
Rectangle textRect = new Rectangle(); Rectangle textRect = new Rectangle();
Rectangle accelRect = new Rectangle(); Rectangle accelRect = new Rectangle();
Rectangle arrowRect = new Rectangle(); Rectangle arrowRect = new Rectangle();
Rectangle labelRect = new Rectangle();
layout( viewRect, iconRect, textRect, accelRect, arrowRect ); layout( viewRect, iconRect, textRect, accelRect, arrowRect, labelRect );
/*debug /*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.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.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 ); 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.minimumIconSize Dimension
* @uiDefault MenuItem.textAcceleratorGap int * @uiDefault MenuItem.textAcceleratorGap int
* @uiDefault MenuItem.textNoAcceleratorGap int
* @uiDefault MenuItem.acceleratorArrowGap int * @uiDefault MenuItem.acceleratorArrowGap int
* @uiDefault MenuItem.textArrowGap int
* *
* @author Karl Tauber * @author Karl Tauber
*/ */

View File

@@ -64,8 +64,8 @@ import javax.swing.plaf.basic.BasicMenuUI;
* *
* @uiDefault MenuItem.minimumIconSize Dimension * @uiDefault MenuItem.minimumIconSize Dimension
* @uiDefault MenuItem.textAcceleratorGap int * @uiDefault MenuItem.textAcceleratorGap int
* @uiDefault MenuItem.textNoAcceleratorGap int
* @uiDefault MenuItem.acceleratorArrowGap int * @uiDefault MenuItem.acceleratorArrowGap int
* @uiDefault MenuItem.textArrowGap int
* *
* @author Karl Tauber * @author Karl Tauber
*/ */

View File

@@ -55,8 +55,8 @@ import javax.swing.plaf.basic.BasicRadioButtonMenuItemUI;
* *
* @uiDefault MenuItem.minimumIconSize Dimension * @uiDefault MenuItem.minimumIconSize Dimension
* @uiDefault MenuItem.textAcceleratorGap int * @uiDefault MenuItem.textAcceleratorGap int
* @uiDefault MenuItem.textNoAcceleratorGap int
* @uiDefault MenuItem.acceleratorArrowGap int * @uiDefault MenuItem.acceleratorArrowGap int
* @uiDefault MenuItem.textArrowGap int
* *
* @author Karl Tauber * @author Karl Tauber
*/ */

View File

@@ -64,7 +64,7 @@ ViewportUI=com.formdev.flatlaf.ui.FlatViewportUI
#---- variables ---- #---- variables ----
@textComponentMargin=2,6,2,6 @textComponentMargin=2,6,2,6
@menuItemMargin=2,8,2,8 @menuItemMargin=2,6,2,6
#---- system colors ---- #---- system colors ----
@@ -315,7 +315,8 @@ MenuItem.background=@menuBackground
MenuItem.minimumWidth=72 MenuItem.minimumWidth=72
MenuItem.minimumIconSize=16,16 MenuItem.minimumIconSize=16,16
MenuItem.textAcceleratorGap=24 MenuItem.textAcceleratorGap=24
MenuItem.textArrowGap=8 MenuItem.textNoAcceleratorGap=6
MenuItem.acceleratorArrowGap=2
MenuItem.acceleratorDelimiter=- MenuItem.acceleratorDelimiter=-
[mac]MenuItem.acceleratorDelimiter= [mac]MenuItem.acceleratorDelimiter=

View File

@@ -145,6 +145,10 @@ public class FlatMenusTest
JMenu menu6 = new JMenu(); JMenu menu6 = new JMenu();
JMenuItem menuItem5 = new JMenuItem(); JMenuItem menuItem5 = new JMenuItem();
JMenuItem menuItem6 = 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(); menuBar2 = new JMenuBar();
JMenu menu8 = new JMenu(); JMenu menu8 = new JMenu();
FlatMenusTest.LargerMenuItem menuItem13 = new FlatMenusTest.LargerMenuItem(); FlatMenusTest.LargerMenuItem menuItem13 = new FlatMenusTest.LargerMenuItem();
@@ -322,6 +326,29 @@ public class FlatMenusTest
menu6.add(menuItem6); menu6.add(menuItem6);
} }
menuBar1.add(menu6); 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"); add(menuBar1, "cell 1 0 2 1,growx");
@@ -808,4 +835,28 @@ public class FlatMenusTest
g.drawLine( 0, getHeight(), getWidth(), getHeight() ); 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" "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 ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 0 2 1,growx" "value": "cell 1 0 2 1,growx"
} ) } )
@@ -345,7 +364,7 @@ new FormModel {
add( new FormComponent( "javax.swing.JCheckBoxMenuItem" ) { add( new FormComponent( "javax.swing.JCheckBoxMenuItem" ) {
name: "checkBoxMenuItem1" name: "checkBoxMenuItem1"
"text": "<html>en<b>abl</b>ed</html>" "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 "mnemonic": 65
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 2" "value": "cell 1 2"
@@ -359,7 +378,7 @@ new FormModel {
add( new FormComponent( "javax.swing.JRadioButtonMenuItem" ) { add( new FormComponent( "javax.swing.JRadioButtonMenuItem" ) {
name: "radioButtonMenuItem1" name: "radioButtonMenuItem1"
"text": "<html>en<b color=\"red\">abl</b><i color=\"blue\">ed</i></html>" "text": "<html>en<b color=\"red\">abl</b><i color=\"blue\">ed</i></html>"
"accelerator": #KeyStroke0 "accelerator": #KeyStroke1
"mnemonic": 66 "mnemonic": 66
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 3" "value": "cell 1 3"
@@ -406,7 +425,7 @@ new FormModel {
name: "checkBoxMenuItem2" name: "checkBoxMenuItem2"
"text": "disabled" "text": "disabled"
"enabled": false "enabled": false
"accelerator": #KeyStroke0 "accelerator": #KeyStroke1
"mnemonic": 83 "mnemonic": 83
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 2" "value": "cell 0 2"
@@ -415,7 +434,7 @@ new FormModel {
name: "radioButtonMenuItem2" name: "radioButtonMenuItem2"
"text": "disabled" "text": "disabled"
"enabled": false "enabled": false
"accelerator": #KeyStroke0 "accelerator": #KeyStroke1
"mnemonic": 76 "mnemonic": 76
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 3" "value": "cell 0 3"
@@ -441,7 +460,7 @@ new FormModel {
name: "menuItem3" name: "menuItem3"
"text": "selected" "text": "selected"
"selected": true "selected": true
"accelerator": #KeyStroke0 "accelerator": #KeyStroke1
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 1" "value": "cell 0 1"
} ) } )
@@ -449,7 +468,7 @@ new FormModel {
name: "checkBoxMenuItem3" name: "checkBoxMenuItem3"
"text": "selected" "text": "selected"
"selected": true "selected": true
"accelerator": #KeyStroke0 "accelerator": #KeyStroke1
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 2" "value": "cell 0 2"
} ) } )
@@ -457,7 +476,7 @@ new FormModel {
name: "radioButtonMenuItem3" name: "radioButtonMenuItem3"
"text": "selected" "text": "selected"
"selected": true "selected": true
"accelerator": #KeyStroke0 "accelerator": #KeyStroke1
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 3" "value": "cell 0 3"
} ) } )
@@ -483,7 +502,7 @@ new FormModel {
"text": "selected disabled" "text": "selected disabled"
"selected": true "selected": true
"enabled": false "enabled": false
"accelerator": #KeyStroke0 "accelerator": #KeyStroke1
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 1" "value": "cell 0 1"
} ) } )
@@ -492,7 +511,7 @@ new FormModel {
"text": "selected disabled" "text": "selected disabled"
"enabled": false "enabled": false
"selected": true "selected": true
"accelerator": #KeyStroke0 "accelerator": #KeyStroke1
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 2" "value": "cell 0 2"
} ) } )
@@ -501,7 +520,7 @@ new FormModel {
"text": "selected disabled" "text": "selected disabled"
"enabled": false "enabled": false
"selected": true "selected": true
"accelerator": #KeyStroke0 "accelerator": #KeyStroke1
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 3" "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.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.font [active] $defaultFont [UI] CheckBoxMenuItem.font [active] $defaultFont [UI]
CheckBoxMenuItem.foreground #bbbbbb javax.swing.plaf.ColorUIResource [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.opaque false
CheckBoxMenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.selectionForeground #bbbbbb 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.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
Menu.icon.arrowColor #a7a7a7 javax.swing.plaf.ColorUIResource [UI] Menu.icon.arrowColor #a7a7a7 javax.swing.plaf.ColorUIResource [UI]
Menu.icon.disabledArrowColor #606060 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.menuPopupOffsetX 0
Menu.menuPopupOffsetY 0 Menu.menuPopupOffsetY 0
Menu.opaque false Menu.opaque false
@@ -508,6 +508,7 @@ MenuBarUI com.formdev.flatlaf.ui.FlatMenuBarUI
#---- MenuItem ---- #---- MenuItem ----
MenuItem.acceleratorArrowGap 2
MenuItem.acceleratorDelimiter MenuItem.acceleratorDelimiter
MenuItem.acceleratorFont [active] $defaultFont [UI] MenuItem.acceleratorFont [active] $defaultFont [UI]
MenuItem.acceleratorForeground #959595 javax.swing.plaf.ColorUIResource [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.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI]
MenuItem.font [active] $defaultFont [UI] MenuItem.font [active] $defaultFont [UI]
MenuItem.foreground #bbbbbb javax.swing.plaf.ColorUIResource [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.minimumIconSize 16,16 javax.swing.plaf.DimensionUIResource [UI]
MenuItem.minimumWidth 72 MenuItem.minimumWidth 72
MenuItem.opaque false MenuItem.opaque false
MenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] MenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI]
MenuItem.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] MenuItem.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
MenuItem.textAcceleratorGap 24 MenuItem.textAcceleratorGap 24
MenuItem.textArrowGap 8 MenuItem.textNoAcceleratorGap 6
MenuItem.underlineSelectionBackground #484c4f javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionBackground #484c4f javax.swing.plaf.ColorUIResource [UI]
MenuItem.underlineSelectionColor #4a88c7 javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionColor #4a88c7 javax.swing.plaf.ColorUIResource [UI]
MenuItem.underlineSelectionHeight 3 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.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.font [active] $defaultFont [UI] RadioButtonMenuItem.font [active] $defaultFont [UI]
RadioButtonMenuItem.foreground #bbbbbb javax.swing.plaf.ColorUIResource [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.opaque false
RadioButtonMenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.selectionForeground #bbbbbb 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.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.font [active] $defaultFont [UI] CheckBoxMenuItem.font [active] $defaultFont [UI]
CheckBoxMenuItem.foreground #bbbbbb javax.swing.plaf.ColorUIResource [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.opaque false
CheckBoxMenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.selectionForeground #bbbbbb 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.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
Menu.icon.arrowColor #a7a7a7 javax.swing.plaf.ColorUIResource [UI] Menu.icon.arrowColor #a7a7a7 javax.swing.plaf.ColorUIResource [UI]
Menu.icon.disabledArrowColor #606060 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.menuPopupOffsetX 0
Menu.menuPopupOffsetY 0 Menu.menuPopupOffsetY 0
Menu.opaque false Menu.opaque false
@@ -507,6 +507,7 @@ MenuBarUI com.formdev.flatlaf.ui.FlatMenuBarUI
#---- MenuItem ---- #---- MenuItem ----
MenuItem.acceleratorArrowGap 2
MenuItem.acceleratorDelimiter - MenuItem.acceleratorDelimiter -
MenuItem.acceleratorFont [active] $defaultFont [UI] MenuItem.acceleratorFont [active] $defaultFont [UI]
MenuItem.acceleratorForeground #959595 javax.swing.plaf.ColorUIResource [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.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI]
MenuItem.font [active] $defaultFont [UI] MenuItem.font [active] $defaultFont [UI]
MenuItem.foreground #bbbbbb javax.swing.plaf.ColorUIResource [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.minimumIconSize 16,16 javax.swing.plaf.DimensionUIResource [UI]
MenuItem.minimumWidth 72 MenuItem.minimumWidth 72
MenuItem.opaque false MenuItem.opaque false
MenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] MenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI]
MenuItem.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] MenuItem.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
MenuItem.textAcceleratorGap 24 MenuItem.textAcceleratorGap 24
MenuItem.textArrowGap 8 MenuItem.textNoAcceleratorGap 6
MenuItem.underlineSelectionBackground #484c4f javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionBackground #484c4f javax.swing.plaf.ColorUIResource [UI]
MenuItem.underlineSelectionColor #4a88c7 javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionColor #4a88c7 javax.swing.plaf.ColorUIResource [UI]
MenuItem.underlineSelectionHeight 3 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.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.font [active] $defaultFont [UI] RadioButtonMenuItem.font [active] $defaultFont [UI]
RadioButtonMenuItem.foreground #bbbbbb javax.swing.plaf.ColorUIResource [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.opaque false
RadioButtonMenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.selectionForeground #bbbbbb 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.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.font [active] $defaultFont [UI] CheckBoxMenuItem.font [active] $defaultFont [UI]
CheckBoxMenuItem.foreground #000000 javax.swing.plaf.ColorUIResource [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.opaque false
CheckBoxMenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.selectionForeground #ffffff 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.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
Menu.icon.arrowColor #666666 javax.swing.plaf.ColorUIResource [UI] Menu.icon.arrowColor #666666 javax.swing.plaf.ColorUIResource [UI]
Menu.icon.disabledArrowColor #ababab 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.menuPopupOffsetX 0
Menu.menuPopupOffsetY 0 Menu.menuPopupOffsetY 0
Menu.opaque false Menu.opaque false
@@ -510,6 +510,7 @@ MenuBarUI com.formdev.flatlaf.ui.FlatMenuBarUI
#---- MenuItem ---- #---- MenuItem ----
MenuItem.acceleratorArrowGap 2
MenuItem.acceleratorDelimiter MenuItem.acceleratorDelimiter
MenuItem.acceleratorFont [active] $defaultFont [UI] MenuItem.acceleratorFont [active] $defaultFont [UI]
MenuItem.acceleratorForeground #4d4d4d javax.swing.plaf.ColorUIResource [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.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI]
MenuItem.font [active] $defaultFont [UI] MenuItem.font [active] $defaultFont [UI]
MenuItem.foreground #000000 javax.swing.plaf.ColorUIResource [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.minimumIconSize 16,16 javax.swing.plaf.DimensionUIResource [UI]
MenuItem.minimumWidth 72 MenuItem.minimumWidth 72
MenuItem.opaque false MenuItem.opaque false
MenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] MenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI]
MenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] MenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
MenuItem.textAcceleratorGap 24 MenuItem.textAcceleratorGap 24
MenuItem.textArrowGap 8 MenuItem.textNoAcceleratorGap 6
MenuItem.underlineSelectionBackground #e6e6e6 javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionBackground #e6e6e6 javax.swing.plaf.ColorUIResource [UI]
MenuItem.underlineSelectionColor #4083c9 javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionColor #4083c9 javax.swing.plaf.ColorUIResource [UI]
MenuItem.underlineSelectionHeight 3 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.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.font [active] $defaultFont [UI] RadioButtonMenuItem.font [active] $defaultFont [UI]
RadioButtonMenuItem.foreground #000000 javax.swing.plaf.ColorUIResource [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.opaque false
RadioButtonMenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.selectionForeground #ffffff 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.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.font [active] $defaultFont [UI] CheckBoxMenuItem.font [active] $defaultFont [UI]
CheckBoxMenuItem.foreground #000000 javax.swing.plaf.ColorUIResource [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.opaque false
CheckBoxMenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI]
CheckBoxMenuItem.selectionForeground #ffffff 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.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
Menu.icon.arrowColor #666666 javax.swing.plaf.ColorUIResource [UI] Menu.icon.arrowColor #666666 javax.swing.plaf.ColorUIResource [UI]
Menu.icon.disabledArrowColor #ababab 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.menuPopupOffsetX 0
Menu.menuPopupOffsetY 0 Menu.menuPopupOffsetY 0
Menu.opaque false Menu.opaque false
@@ -509,6 +509,7 @@ MenuBarUI com.formdev.flatlaf.ui.FlatMenuBarUI
#---- MenuItem ---- #---- MenuItem ----
MenuItem.acceleratorArrowGap 2
MenuItem.acceleratorDelimiter - MenuItem.acceleratorDelimiter -
MenuItem.acceleratorFont [active] $defaultFont [UI] MenuItem.acceleratorFont [active] $defaultFont [UI]
MenuItem.acceleratorForeground #4d4d4d javax.swing.plaf.ColorUIResource [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.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI]
MenuItem.font [active] $defaultFont [UI] MenuItem.font [active] $defaultFont [UI]
MenuItem.foreground #000000 javax.swing.plaf.ColorUIResource [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.minimumIconSize 16,16 javax.swing.plaf.DimensionUIResource [UI]
MenuItem.minimumWidth 72 MenuItem.minimumWidth 72
MenuItem.opaque false MenuItem.opaque false
MenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] MenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI]
MenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] MenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
MenuItem.textAcceleratorGap 24 MenuItem.textAcceleratorGap 24
MenuItem.textArrowGap 8 MenuItem.textNoAcceleratorGap 6
MenuItem.underlineSelectionBackground #e6e6e6 javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionBackground #e6e6e6 javax.swing.plaf.ColorUIResource [UI]
MenuItem.underlineSelectionColor #4083c9 javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionColor #4083c9 javax.swing.plaf.ColorUIResource [UI]
MenuItem.underlineSelectionHeight 3 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.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.font [active] $defaultFont [UI] RadioButtonMenuItem.font [active] $defaultFont [UI]
RadioButtonMenuItem.foreground #000000 javax.swing.plaf.ColorUIResource [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.opaque false
RadioButtonMenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI]
RadioButtonMenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]