mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-07 22:40:53 +03:00
Merge branch 'origin/menu-layout' into master
This commit is contained in:
@@ -30,7 +30,8 @@ import javax.swing.UIManager;
|
|||||||
*
|
*
|
||||||
* @uiDefault MenuItemCheckBox.icon.checkmarkColor Color
|
* @uiDefault MenuItemCheckBox.icon.checkmarkColor Color
|
||||||
* @uiDefault MenuItemCheckBox.icon.disabledCheckmarkColor Color
|
* @uiDefault MenuItemCheckBox.icon.disabledCheckmarkColor Color
|
||||||
* @uiDefault Menu.selectionForeground Color
|
* @uiDefault MenuItem.selectionForeground Color
|
||||||
|
* @uiDefault MenuItem.selectionType String
|
||||||
*
|
*
|
||||||
* @author Karl Tauber
|
* @author Karl Tauber
|
||||||
*/
|
*/
|
||||||
@@ -39,7 +40,7 @@ public class FlatCheckBoxMenuItemIcon
|
|||||||
{
|
{
|
||||||
protected final Color checkmarkColor = UIManager.getColor( "MenuItemCheckBox.icon.checkmarkColor" );
|
protected final Color checkmarkColor = UIManager.getColor( "MenuItemCheckBox.icon.checkmarkColor" );
|
||||||
protected final Color disabledCheckmarkColor = UIManager.getColor( "MenuItemCheckBox.icon.disabledCheckmarkColor" );
|
protected final Color disabledCheckmarkColor = UIManager.getColor( "MenuItemCheckBox.icon.disabledCheckmarkColor" );
|
||||||
protected final Color selectionForeground = UIManager.getColor( "Menu.selectionForeground" );
|
protected final Color selectionForeground = UIManager.getColor( "MenuItem.selectionForeground" );
|
||||||
|
|
||||||
public FlatCheckBoxMenuItemIcon() {
|
public FlatCheckBoxMenuItemIcon() {
|
||||||
super( 15, 15, null );
|
super( 15, 15, null );
|
||||||
@@ -67,9 +68,14 @@ public class FlatCheckBoxMenuItemIcon
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Color getCheckmarkColor( Component c ) {
|
private Color getCheckmarkColor( Component c ) {
|
||||||
if( c instanceof JMenuItem && ((JMenuItem)c).isArmed() )
|
if( c instanceof JMenuItem && ((JMenuItem)c).isArmed() && !isUnderlineSelection() )
|
||||||
return selectionForeground;
|
return selectionForeground;
|
||||||
|
|
||||||
return c.isEnabled() ? checkmarkColor : disabledCheckmarkColor;
|
return c.isEnabled() ? checkmarkColor : disabledCheckmarkColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isUnderlineSelection() {
|
||||||
|
// not storing value of "MenuItem.selectionType" in class to allow changing at runtime
|
||||||
|
return "underline".equals( UIManager.getString( "MenuItem.selectionType" ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import com.formdev.flatlaf.ui.FlatUIUtils;
|
|||||||
* @uiDefault Menu.icon.arrowColor Color
|
* @uiDefault Menu.icon.arrowColor Color
|
||||||
* @uiDefault Menu.icon.disabledArrowColor Color
|
* @uiDefault Menu.icon.disabledArrowColor Color
|
||||||
* @uiDefault Menu.selectionForeground Color
|
* @uiDefault Menu.selectionForeground Color
|
||||||
|
* @uiDefault MenuItem.selectionType String
|
||||||
*
|
*
|
||||||
* @author Karl Tauber
|
* @author Karl Tauber
|
||||||
*/
|
*/
|
||||||
@@ -65,9 +66,14 @@ public class FlatMenuArrowIcon
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Color getArrowColor( Component c ) {
|
private Color getArrowColor( Component c ) {
|
||||||
if( c instanceof JMenu && ((JMenu)c).isSelected() )
|
if( c instanceof JMenu && ((JMenu)c).isSelected() && !isUnderlineSelection() )
|
||||||
return selectionForeground;
|
return selectionForeground;
|
||||||
|
|
||||||
return c.isEnabled() ? arrowColor : disabledArrowColor;
|
return c.isEnabled() ? arrowColor : disabledArrowColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isUnderlineSelection() {
|
||||||
|
// not storing value of "MenuItem.selectionType" in class to allow changing at runtime
|
||||||
|
return "underline".equals( UIManager.getString( "MenuItem.selectionType" ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,12 +16,12 @@
|
|||||||
|
|
||||||
package com.formdev.flatlaf.ui;
|
package com.formdev.flatlaf.ui;
|
||||||
|
|
||||||
import static com.formdev.flatlaf.util.UIScale.scale;
|
import java.awt.Color;
|
||||||
|
import java.awt.Dimension;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.awt.Rectangle;
|
import javax.swing.Icon;
|
||||||
import java.beans.PropertyChangeListener;
|
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
||||||
import javax.swing.JMenuItem;
|
import javax.swing.UIManager;
|
||||||
import javax.swing.plaf.ComponentUI;
|
import javax.swing.plaf.ComponentUI;
|
||||||
import javax.swing.plaf.basic.BasicCheckBoxMenuItemUI;
|
import javax.swing.plaf.basic.BasicCheckBoxMenuItemUI;
|
||||||
|
|
||||||
@@ -48,11 +48,25 @@ import javax.swing.plaf.basic.BasicCheckBoxMenuItemUI;
|
|||||||
* @uiDefault CheckBoxMenuItem.opaque boolean
|
* @uiDefault CheckBoxMenuItem.opaque boolean
|
||||||
* @uiDefault CheckBoxMenuItem.evenHeight boolean
|
* @uiDefault CheckBoxMenuItem.evenHeight boolean
|
||||||
*
|
*
|
||||||
|
* <!-- FlatCheckBoxMenuItemUI -->
|
||||||
|
*
|
||||||
|
* @uiDefault CheckBoxMenuItem.checkBackground Color
|
||||||
|
*
|
||||||
|
* <!-- FlatMenuItemRenderer -->
|
||||||
|
*
|
||||||
|
* @uiDefault MenuItem.minimumIconSize Dimension
|
||||||
|
* @uiDefault MenuItem.textAcceleratorGap int
|
||||||
|
* @uiDefault MenuItem.acceleratorArrowGap int
|
||||||
|
* @uiDefault MenuItem.textArrowGap int
|
||||||
|
*
|
||||||
* @author Karl Tauber
|
* @author Karl Tauber
|
||||||
*/
|
*/
|
||||||
public class FlatCheckBoxMenuItemUI
|
public class FlatCheckBoxMenuItemUI
|
||||||
extends BasicCheckBoxMenuItemUI
|
extends BasicCheckBoxMenuItemUI
|
||||||
{
|
{
|
||||||
|
private Color checkBackground;
|
||||||
|
private FlatMenuItemRenderer renderer;
|
||||||
|
|
||||||
public static ComponentUI createUI( JComponent c ) {
|
public static ComponentUI createUI( JComponent c ) {
|
||||||
return new FlatCheckBoxMenuItemUI();
|
return new FlatCheckBoxMenuItemUI();
|
||||||
}
|
}
|
||||||
@@ -61,25 +75,30 @@ public class FlatCheckBoxMenuItemUI
|
|||||||
protected void installDefaults() {
|
protected void installDefaults() {
|
||||||
super.installDefaults();
|
super.installDefaults();
|
||||||
|
|
||||||
// scale
|
checkBackground = UIManager.getColor( "CheckBoxMenuItem.checkBackground" );
|
||||||
defaultTextIconGap = scale( defaultTextIconGap );
|
renderer = createRenderer();
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Scale defaultTextIconGap again if iconTextGap property has changed.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
protected PropertyChangeListener createPropertyChangeListener( JComponent c ) {
|
|
||||||
PropertyChangeListener superListener = super.createPropertyChangeListener( c );
|
|
||||||
return e -> {
|
|
||||||
superListener.propertyChange( e );
|
|
||||||
if( e.getPropertyName() == "iconTextGap" )
|
|
||||||
defaultTextIconGap = scale( defaultTextIconGap );
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void paintText( Graphics g, JMenuItem menuItem, Rectangle textRect, String text ) {
|
protected void uninstallDefaults() {
|
||||||
FlatMenuItemUI.paintText( g, menuItem, textRect, text, disabledForeground, selectionForeground );
|
super.uninstallDefaults();
|
||||||
|
|
||||||
|
checkBackground = null;
|
||||||
|
renderer = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected FlatMenuItemRenderer createRenderer() {
|
||||||
|
return new FlatMenuItemRenderer( menuItem, checkIcon, arrowIcon, acceleratorFont, acceleratorDelimiter );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Dimension getPreferredMenuItemSize( JComponent c, Icon checkIcon, Icon arrowIcon, int defaultTextIconGap ) {
|
||||||
|
return renderer.getPreferredMenuItemSize();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void paint( Graphics g, JComponent c ) {
|
||||||
|
renderer.paintMenuItem( g, selectionBackground, selectionForeground, disabledForeground,
|
||||||
|
checkBackground, acceleratorForeground, acceleratorSelectionForeground );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,431 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.ui;
|
||||||
|
|
||||||
|
import static com.formdev.flatlaf.util.UIScale.scale;
|
||||||
|
import java.awt.Color;
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.awt.FontMetrics;
|
||||||
|
import java.awt.Graphics;
|
||||||
|
import java.awt.Insets;
|
||||||
|
import java.awt.Rectangle;
|
||||||
|
import java.awt.event.InputEvent;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
|
import javax.swing.Icon;
|
||||||
|
import javax.swing.JMenu;
|
||||||
|
import javax.swing.JMenuItem;
|
||||||
|
import javax.swing.KeyStroke;
|
||||||
|
import javax.swing.SwingUtilities;
|
||||||
|
import javax.swing.UIManager;
|
||||||
|
import javax.swing.plaf.basic.BasicHTML;
|
||||||
|
import javax.swing.text.View;
|
||||||
|
import com.formdev.flatlaf.FlatLaf;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Renderer for menu items.
|
||||||
|
*
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatMenuItemRenderer
|
||||||
|
{
|
||||||
|
protected final JMenuItem menuItem;
|
||||||
|
protected final Icon checkIcon;
|
||||||
|
protected final Icon arrowIcon;
|
||||||
|
protected final Font acceleratorFont;
|
||||||
|
protected final String acceleratorDelimiter;
|
||||||
|
|
||||||
|
protected final int minimumWidth;
|
||||||
|
protected final Dimension minimumIconSize;
|
||||||
|
protected final int textAcceleratorGap;
|
||||||
|
protected final int textArrowGap;
|
||||||
|
|
||||||
|
protected final String selectionType = UIManager.getString( "MenuItem.selectionType" );
|
||||||
|
protected final Color underlineSelectionBackground = UIManager.getColor( "MenuItem.underlineSelectionBackground" );
|
||||||
|
protected final Color underlineSelectionColor = UIManager.getColor( "MenuItem.underlineSelectionColor" );
|
||||||
|
protected final int underlineSelectionHeight = UIManager.getInt( "MenuItem.underlineSelectionHeight" );
|
||||||
|
|
||||||
|
protected FlatMenuItemRenderer( JMenuItem menuItem, Icon checkIcon, Icon arrowIcon,
|
||||||
|
Font acceleratorFont, String acceleratorDelimiter )
|
||||||
|
{
|
||||||
|
this.menuItem = menuItem;
|
||||||
|
this.checkIcon = checkIcon;
|
||||||
|
this.arrowIcon = arrowIcon;
|
||||||
|
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() {
|
||||||
|
int width = 0;
|
||||||
|
int height = 0;
|
||||||
|
boolean isTopLevelMenu = isTopLevelMenu( menuItem );
|
||||||
|
|
||||||
|
Rectangle viewRect = new Rectangle( 0, 0, Integer.MAX_VALUE, Integer.MAX_VALUE );
|
||||||
|
Rectangle iconRect = new Rectangle();
|
||||||
|
Rectangle textRect = new Rectangle();
|
||||||
|
|
||||||
|
// layout icon and text
|
||||||
|
SwingUtilities.layoutCompoundLabel( menuItem,
|
||||||
|
menuItem.getFontMetrics( menuItem.getFont() ), menuItem.getText(), getIconForLayout(),
|
||||||
|
menuItem.getVerticalAlignment(), menuItem.getHorizontalAlignment(),
|
||||||
|
menuItem.getVerticalTextPosition(), menuItem.getHorizontalTextPosition(),
|
||||||
|
viewRect, iconRect, textRect, scale( menuItem.getIconTextGap() ) );
|
||||||
|
|
||||||
|
// union icon and text rectangles
|
||||||
|
Rectangle labelRect = iconRect.union( textRect );
|
||||||
|
width += labelRect.width;
|
||||||
|
height = Math.max( labelRect.height, height );
|
||||||
|
|
||||||
|
// accelerator size
|
||||||
|
String accelText = getAcceleratorText();
|
||||||
|
if( accelText != null ) {
|
||||||
|
// gap between text and accelerator
|
||||||
|
width += scale( textAcceleratorGap );
|
||||||
|
|
||||||
|
FontMetrics accelFm = menuItem.getFontMetrics( acceleratorFont );
|
||||||
|
width += SwingUtilities.computeStringWidth( accelFm, accelText );
|
||||||
|
height = Math.max( accelFm.getHeight(), height );
|
||||||
|
}
|
||||||
|
|
||||||
|
// arrow size
|
||||||
|
if( !isTopLevelMenu && arrowIcon != null ) {
|
||||||
|
// gap between text and arrow
|
||||||
|
if( accelText == null )
|
||||||
|
width += scale( textArrowGap );
|
||||||
|
|
||||||
|
width += arrowIcon.getIconWidth();
|
||||||
|
height = Math.max( arrowIcon.getIconHeight(), height );
|
||||||
|
}
|
||||||
|
|
||||||
|
// add insets
|
||||||
|
Insets insets = menuItem.getInsets();
|
||||||
|
width += insets.left + insets.right;
|
||||||
|
height += insets.top + insets.bottom;
|
||||||
|
|
||||||
|
// minimum width
|
||||||
|
if( !isTopLevelMenu ) {
|
||||||
|
int minimumWidth = FlatUIUtils.minimumWidth( menuItem, this.minimumWidth );
|
||||||
|
width = Math.max( width, scale( minimumWidth ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
return new Dimension( width, height );
|
||||||
|
}
|
||||||
|
|
||||||
|
private void layout( Rectangle viewRect, Rectangle iconRect, Rectangle textRect,
|
||||||
|
Rectangle accelRect, Rectangle arrowRect )
|
||||||
|
{
|
||||||
|
boolean isTopLevelMenu = isTopLevelMenu( menuItem );
|
||||||
|
|
||||||
|
// layout arrow
|
||||||
|
if( !isTopLevelMenu && arrowIcon != null ) {
|
||||||
|
arrowRect.width = arrowIcon.getIconWidth();
|
||||||
|
arrowRect.height = arrowIcon.getIconHeight();
|
||||||
|
} else
|
||||||
|
arrowRect.setSize( 0, 0 );
|
||||||
|
arrowRect.y = viewRect.y + centerOffset( viewRect.height, arrowRect.height );
|
||||||
|
|
||||||
|
// layout accelerator
|
||||||
|
String accelText = getAcceleratorText();
|
||||||
|
if( accelText != null ) {
|
||||||
|
FontMetrics accelFm = menuItem.getFontMetrics( acceleratorFont );
|
||||||
|
accelRect.width = SwingUtilities.computeStringWidth( accelFm, accelText );
|
||||||
|
accelRect.height = accelFm.getHeight();
|
||||||
|
|
||||||
|
accelRect.y = viewRect.y + centerOffset( viewRect.height, accelRect.height );
|
||||||
|
} else
|
||||||
|
accelRect.setBounds( 0, 0, 0, 0 );
|
||||||
|
|
||||||
|
// compute horizontal positions of accelerator and arrow
|
||||||
|
if( menuItem.getComponentOrientation().isLeftToRight() ) {
|
||||||
|
// left-to-right
|
||||||
|
arrowRect.x = viewRect.x + viewRect.width - arrowRect.width;
|
||||||
|
accelRect.x = arrowRect.x - accelRect.width;
|
||||||
|
} else {
|
||||||
|
// right-to-left
|
||||||
|
arrowRect.x = viewRect.x;
|
||||||
|
accelRect.x = arrowRect.x + 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 );
|
||||||
|
|
||||||
|
// label rectangle is view rectangle subtracted by accelerator, arrow and gap
|
||||||
|
Rectangle labelRect = new Rectangle( viewRect );
|
||||||
|
labelRect.width -= accelArrowWidth;
|
||||||
|
if( !menuItem.getComponentOrientation().isLeftToRight() )
|
||||||
|
labelRect.x += accelArrowWidth;
|
||||||
|
|
||||||
|
// layout icon and text
|
||||||
|
SwingUtilities.layoutCompoundLabel( menuItem,
|
||||||
|
menuItem.getFontMetrics( menuItem.getFont() ), menuItem.getText(), getIconForLayout(),
|
||||||
|
menuItem.getVerticalAlignment(), menuItem.getHorizontalAlignment(),
|
||||||
|
menuItem.getVerticalTextPosition(), menuItem.getHorizontalTextPosition(),
|
||||||
|
labelRect, iconRect, textRect, scale( menuItem.getIconTextGap() ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int centerOffset( int wh1, int wh2 ) {
|
||||||
|
return (wh1 / 2) - (wh2 / 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void paintMenuItem( Graphics g, Color selectionBackground, Color selectionForeground,
|
||||||
|
Color disabledForeground, Color checkBackground,
|
||||||
|
Color acceleratorForeground, Color acceleratorSelectionForeground )
|
||||||
|
{
|
||||||
|
Rectangle viewRect = new Rectangle( menuItem.getWidth(), menuItem.getHeight() );
|
||||||
|
|
||||||
|
// subtract insets
|
||||||
|
Insets insets = menuItem.getInsets();
|
||||||
|
viewRect.x += insets.left;
|
||||||
|
viewRect.y += insets.top;
|
||||||
|
viewRect.width -= (insets.left + insets.right);
|
||||||
|
viewRect.height -= (insets.top + insets.bottom);
|
||||||
|
|
||||||
|
Rectangle iconRect = new Rectangle();
|
||||||
|
Rectangle textRect = new Rectangle();
|
||||||
|
Rectangle accelRect = new Rectangle();
|
||||||
|
Rectangle arrowRect = new Rectangle();
|
||||||
|
|
||||||
|
layout( viewRect, iconRect, textRect, accelRect, arrowRect );
|
||||||
|
|
||||||
|
/*debug
|
||||||
|
g.setColor( Color.red ); g.drawRect( viewRect.x, viewRect.y, viewRect.width - 1, viewRect.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 );
|
||||||
|
g.setColor( Color.orange ); g.drawRect( arrowRect.x, arrowRect.y, arrowRect.width - 1, arrowRect.height - 1 );
|
||||||
|
debug*/
|
||||||
|
|
||||||
|
paintBackground( g, selectionBackground );
|
||||||
|
paintIcon( g, iconRect, getIconForPainting(), checkBackground );
|
||||||
|
paintText( g, textRect, menuItem.getText(), selectionForeground, disabledForeground );
|
||||||
|
paintAccelerator( g, accelRect, getAcceleratorText(), acceleratorForeground, acceleratorSelectionForeground, disabledForeground );
|
||||||
|
if( !isTopLevelMenu( menuItem ) )
|
||||||
|
paintArrowIcon( g, arrowRect, arrowIcon );
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void paintBackground( Graphics g, Color selectionBackground ) {
|
||||||
|
boolean armedOrSelected = isArmedOrSelected( menuItem );
|
||||||
|
if( menuItem.isOpaque() || armedOrSelected ) {
|
||||||
|
int width = menuItem.getWidth();
|
||||||
|
int height = menuItem.getHeight();
|
||||||
|
|
||||||
|
// paint background
|
||||||
|
g.setColor( armedOrSelected
|
||||||
|
? (isUnderlineSelection() ? underlineSelectionBackground : selectionBackground)
|
||||||
|
: menuItem.getBackground() );
|
||||||
|
g.fillRect( 0, 0, width, height );
|
||||||
|
|
||||||
|
// paint underline
|
||||||
|
if( armedOrSelected && isUnderlineSelection() ) {
|
||||||
|
int underlineHeight = scale( underlineSelectionHeight );
|
||||||
|
g.setColor( underlineSelectionColor );
|
||||||
|
if( isTopLevelMenu( menuItem ) ) {
|
||||||
|
// paint underline at bottom
|
||||||
|
g.fillRect( 0, height - underlineHeight, width, underlineHeight );
|
||||||
|
} else if( menuItem.getComponentOrientation().isLeftToRight() ) {
|
||||||
|
// paint underline at left side
|
||||||
|
g.fillRect( 0, 0, underlineHeight, height );
|
||||||
|
} else {
|
||||||
|
// paint underline at right side
|
||||||
|
g.fillRect( width - underlineHeight, 0, underlineHeight, height );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void paintIcon( Graphics g, Rectangle iconRect, Icon icon, Color checkBackground ) {
|
||||||
|
// if checkbox/radiobutton menu item is selected and also has a custom icon,
|
||||||
|
// then use filled icon background to indicate selection (instead of using checkIcon)
|
||||||
|
if( menuItem.isSelected() && checkIcon != null && icon != checkIcon ) {
|
||||||
|
int outset = scale( Math.max( menuItem.getIconTextGap() / 2, 2 ) );
|
||||||
|
g.setColor( checkBackground );
|
||||||
|
g.fillRect( iconRect.x - outset, iconRect.y - outset,
|
||||||
|
iconRect.width + (outset * 2), iconRect.height + (outset * 2) );
|
||||||
|
}
|
||||||
|
|
||||||
|
paintIcon( g, menuItem, icon, iconRect );
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void paintText( Graphics g, Rectangle textRect, String text, Color selectionForeground, Color disabledForeground ) {
|
||||||
|
View htmlView = (View) menuItem.getClientProperty( BasicHTML.propertyKey );
|
||||||
|
if( htmlView != null ) {
|
||||||
|
htmlView.paint( g, textRect );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int mnemonicIndex = FlatLaf.isShowMnemonics() ? menuItem.getDisplayedMnemonicIndex() : -1;
|
||||||
|
Color foreground = menuItem.getForeground();
|
||||||
|
|
||||||
|
paintText( g, menuItem, textRect, text, mnemonicIndex, menuItem.getFont(),
|
||||||
|
foreground, isUnderlineSelection() ? foreground : selectionForeground, disabledForeground );
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void paintAccelerator( Graphics g, Rectangle accelRect, String accelText,
|
||||||
|
Color foreground, Color selectionForeground, Color disabledForeground )
|
||||||
|
{
|
||||||
|
paintText( g, menuItem, accelRect, accelText, -1, acceleratorFont,
|
||||||
|
foreground, isUnderlineSelection() ? foreground : selectionForeground, disabledForeground );
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void paintArrowIcon( Graphics g, Rectangle arrowRect, Icon arrowIcon ) {
|
||||||
|
paintIcon( g, menuItem, arrowIcon, arrowRect );
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static void paintIcon( Graphics g, JMenuItem menuItem, Icon icon, Rectangle iconRect ) {
|
||||||
|
if( icon == null )
|
||||||
|
return;
|
||||||
|
|
||||||
|
// center because the real icon may be smaller than dimension in iconRect
|
||||||
|
int x = iconRect.x + centerOffset( iconRect.width, icon.getIconWidth() );
|
||||||
|
int y = iconRect.y + centerOffset( iconRect.height, icon.getIconHeight() );
|
||||||
|
|
||||||
|
// paint
|
||||||
|
icon.paintIcon( menuItem, g, x, y );
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static void paintText( Graphics g, JMenuItem menuItem,
|
||||||
|
Rectangle textRect, String text, int mnemonicIndex, Font font,
|
||||||
|
Color foreground, Color selectionForeground, Color disabledForeground )
|
||||||
|
{
|
||||||
|
if( text == null || text.isEmpty() )
|
||||||
|
return;
|
||||||
|
|
||||||
|
FontMetrics fm = menuItem.getFontMetrics( font );
|
||||||
|
|
||||||
|
Font oldFont = g.getFont();
|
||||||
|
g.setFont( font );
|
||||||
|
g.setColor( !menuItem.isEnabled()
|
||||||
|
? disabledForeground
|
||||||
|
: (isArmedOrSelected( menuItem )
|
||||||
|
? selectionForeground
|
||||||
|
: foreground) );
|
||||||
|
|
||||||
|
FlatUIUtils.drawStringUnderlineCharAt( menuItem, g, text, mnemonicIndex,
|
||||||
|
textRect.x, textRect.y + fm.getAscent() );
|
||||||
|
|
||||||
|
g.setFont( oldFont );
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static boolean isArmedOrSelected( JMenuItem menuItem ) {
|
||||||
|
return menuItem.isArmed() || (menuItem instanceof JMenu && menuItem.isSelected());
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static boolean isTopLevelMenu( JMenuItem menuItem ) {
|
||||||
|
return menuItem instanceof JMenu && ((JMenu)menuItem).isTopLevelMenu();
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isUnderlineSelection() {
|
||||||
|
return "underline".equals( selectionType );
|
||||||
|
}
|
||||||
|
|
||||||
|
private Icon getIconForPainting() {
|
||||||
|
Icon icon = menuItem.getIcon();
|
||||||
|
|
||||||
|
if( icon == null && checkIcon != null && !isTopLevelMenu( menuItem ) )
|
||||||
|
return checkIcon;
|
||||||
|
|
||||||
|
if( icon == null )
|
||||||
|
return null;
|
||||||
|
|
||||||
|
if( !menuItem.isEnabled() )
|
||||||
|
return menuItem.getDisabledIcon();
|
||||||
|
|
||||||
|
if( menuItem.getModel().isPressed() && menuItem.isArmed() ) {
|
||||||
|
Icon pressedIcon = menuItem.getPressedIcon();
|
||||||
|
if( pressedIcon != null )
|
||||||
|
return pressedIcon;
|
||||||
|
}
|
||||||
|
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Icon getIconForLayout() {
|
||||||
|
Icon icon = menuItem.getIcon();
|
||||||
|
|
||||||
|
if( isTopLevelMenu( menuItem ) )
|
||||||
|
return (icon != null) ? new MinSizeIcon( icon ) : null;
|
||||||
|
|
||||||
|
return new MinSizeIcon( (icon != null) ? icon : checkIcon );
|
||||||
|
}
|
||||||
|
|
||||||
|
private KeyStroke cachedAccelerator;
|
||||||
|
private String cachedAcceleratorText;
|
||||||
|
|
||||||
|
private String getAcceleratorText() {
|
||||||
|
KeyStroke accelerator = menuItem.getAccelerator();
|
||||||
|
if( accelerator == null )
|
||||||
|
return null;
|
||||||
|
|
||||||
|
if( accelerator == cachedAccelerator )
|
||||||
|
return cachedAcceleratorText;
|
||||||
|
|
||||||
|
StringBuilder buf = new StringBuilder();
|
||||||
|
int modifiers = accelerator.getModifiers();
|
||||||
|
if( modifiers != 0 )
|
||||||
|
buf.append( InputEvent.getModifiersExText( modifiers ) ).append( acceleratorDelimiter );
|
||||||
|
|
||||||
|
int keyCode = accelerator.getKeyCode();
|
||||||
|
if( keyCode != 0 )
|
||||||
|
buf.append( KeyEvent.getKeyText( keyCode ) );
|
||||||
|
else
|
||||||
|
buf.append( accelerator.getKeyChar() );
|
||||||
|
|
||||||
|
cachedAccelerator = accelerator;
|
||||||
|
cachedAcceleratorText = buf.toString();
|
||||||
|
|
||||||
|
return cachedAcceleratorText;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---- class MinSizeIcon --------------------------------------------------
|
||||||
|
|
||||||
|
private class MinSizeIcon
|
||||||
|
implements Icon
|
||||||
|
{
|
||||||
|
private final Icon delegate;
|
||||||
|
|
||||||
|
MinSizeIcon( Icon delegate ) {
|
||||||
|
this.delegate = delegate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getIconWidth() {
|
||||||
|
int iconWidth = (delegate != null) ? delegate.getIconWidth() : 0;
|
||||||
|
return Math.max( iconWidth, scale( minimumIconSize.width ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getIconHeight() {
|
||||||
|
int iconHeight = (delegate != null) ? delegate.getIconHeight() : 0;
|
||||||
|
return Math.max( iconHeight, scale( minimumIconSize.height ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void paintIcon( Component c, Graphics g, int x, int y ) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -16,19 +16,12 @@
|
|||||||
|
|
||||||
package com.formdev.flatlaf.ui;
|
package com.formdev.flatlaf.ui;
|
||||||
|
|
||||||
import static com.formdev.flatlaf.util.UIScale.scale;
|
import java.awt.Dimension;
|
||||||
import java.awt.Color;
|
|
||||||
import java.awt.FontMetrics;
|
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.awt.Rectangle;
|
import javax.swing.Icon;
|
||||||
import java.beans.PropertyChangeListener;
|
|
||||||
import javax.swing.ButtonModel;
|
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
||||||
import javax.swing.JMenu;
|
|
||||||
import javax.swing.JMenuItem;
|
|
||||||
import javax.swing.plaf.ComponentUI;
|
import javax.swing.plaf.ComponentUI;
|
||||||
import javax.swing.plaf.basic.BasicMenuItemUI;
|
import javax.swing.plaf.basic.BasicMenuItemUI;
|
||||||
import com.formdev.flatlaf.FlatLaf;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides the Flat LaF UI delegate for {@link javax.swing.JMenuItem}.
|
* Provides the Flat LaF UI delegate for {@link javax.swing.JMenuItem}.
|
||||||
@@ -53,11 +46,20 @@ import com.formdev.flatlaf.FlatLaf;
|
|||||||
* @uiDefault MenuItem.opaque boolean
|
* @uiDefault MenuItem.opaque boolean
|
||||||
* @uiDefault MenuItem.evenHeight boolean
|
* @uiDefault MenuItem.evenHeight boolean
|
||||||
*
|
*
|
||||||
|
* <!-- FlatMenuItemRenderer -->
|
||||||
|
*
|
||||||
|
* @uiDefault MenuItem.minimumIconSize Dimension
|
||||||
|
* @uiDefault MenuItem.textAcceleratorGap int
|
||||||
|
* @uiDefault MenuItem.acceleratorArrowGap int
|
||||||
|
* @uiDefault MenuItem.textArrowGap int
|
||||||
|
*
|
||||||
* @author Karl Tauber
|
* @author Karl Tauber
|
||||||
*/
|
*/
|
||||||
public class FlatMenuItemUI
|
public class FlatMenuItemUI
|
||||||
extends BasicMenuItemUI
|
extends BasicMenuItemUI
|
||||||
{
|
{
|
||||||
|
private FlatMenuItemRenderer renderer;
|
||||||
|
|
||||||
public static ComponentUI createUI( JComponent c ) {
|
public static ComponentUI createUI( JComponent c ) {
|
||||||
return new FlatMenuItemUI();
|
return new FlatMenuItemUI();
|
||||||
}
|
}
|
||||||
@@ -66,42 +68,28 @@ public class FlatMenuItemUI
|
|||||||
protected void installDefaults() {
|
protected void installDefaults() {
|
||||||
super.installDefaults();
|
super.installDefaults();
|
||||||
|
|
||||||
// scale
|
renderer = createRenderer();
|
||||||
defaultTextIconGap = scale( defaultTextIconGap );
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Scale defaultTextIconGap again if iconTextGap property has changed.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
protected PropertyChangeListener createPropertyChangeListener( JComponent c ) {
|
|
||||||
PropertyChangeListener superListener = super.createPropertyChangeListener( c );
|
|
||||||
return e -> {
|
|
||||||
superListener.propertyChange( e );
|
|
||||||
if( e.getPropertyName() == "iconTextGap" )
|
|
||||||
defaultTextIconGap = scale( defaultTextIconGap );
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void paintText( Graphics g, JMenuItem menuItem, Rectangle textRect, String text ) {
|
protected void uninstallDefaults() {
|
||||||
paintText( g, menuItem, textRect, text, disabledForeground, selectionForeground );
|
super.uninstallDefaults();
|
||||||
|
|
||||||
|
renderer = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void paintText( Graphics g, JMenuItem menuItem, Rectangle textRect,
|
protected FlatMenuItemRenderer createRenderer() {
|
||||||
String text, Color disabledForeground, Color selectionForeground )
|
return new FlatMenuItemRenderer( menuItem, checkIcon, arrowIcon, acceleratorFont, acceleratorDelimiter );
|
||||||
{
|
}
|
||||||
FontMetrics fm = menuItem.getFontMetrics( menuItem.getFont() );
|
|
||||||
int mnemonicIndex = FlatLaf.isShowMnemonics() ? menuItem.getDisplayedMnemonicIndex() : -1;
|
|
||||||
|
|
||||||
ButtonModel model = menuItem.getModel();
|
@Override
|
||||||
g.setColor( !model.isEnabled()
|
protected Dimension getPreferredMenuItemSize( JComponent c, Icon checkIcon, Icon arrowIcon, int defaultTextIconGap ) {
|
||||||
? disabledForeground
|
return renderer.getPreferredMenuItemSize();
|
||||||
: (model.isArmed() || (menuItem instanceof JMenu && model.isSelected())
|
}
|
||||||
? selectionForeground
|
|
||||||
: menuItem.getForeground()) );
|
|
||||||
|
|
||||||
FlatUIUtils.drawStringUnderlineCharAt( menuItem, g, text, mnemonicIndex,
|
@Override
|
||||||
textRect.x, textRect.y + fm.getAscent() );
|
public void paint( Graphics g, JComponent c ) {
|
||||||
|
renderer.paintMenuItem( g, selectionBackground, selectionForeground, disabledForeground,
|
||||||
|
null, acceleratorForeground, acceleratorSelectionForeground );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,13 +16,13 @@
|
|||||||
|
|
||||||
package com.formdev.flatlaf.ui;
|
package com.formdev.flatlaf.ui;
|
||||||
|
|
||||||
import static com.formdev.flatlaf.util.UIScale.scale;
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.awt.Font;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.awt.Rectangle;
|
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.beans.PropertyChangeListener;
|
|
||||||
import javax.swing.ButtonModel;
|
import javax.swing.ButtonModel;
|
||||||
|
import javax.swing.Icon;
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
||||||
import javax.swing.JMenu;
|
import javax.swing.JMenu;
|
||||||
import javax.swing.JMenuItem;
|
import javax.swing.JMenuItem;
|
||||||
@@ -61,12 +61,20 @@ import javax.swing.plaf.basic.BasicMenuUI;
|
|||||||
*
|
*
|
||||||
* @uiDefault MenuBar.hoverBackground Color
|
* @uiDefault MenuBar.hoverBackground Color
|
||||||
*
|
*
|
||||||
|
* <!-- FlatMenuItemRenderer -->
|
||||||
|
*
|
||||||
|
* @uiDefault MenuItem.minimumIconSize Dimension
|
||||||
|
* @uiDefault MenuItem.textAcceleratorGap int
|
||||||
|
* @uiDefault MenuItem.acceleratorArrowGap int
|
||||||
|
* @uiDefault MenuItem.textArrowGap int
|
||||||
|
*
|
||||||
* @author Karl Tauber
|
* @author Karl Tauber
|
||||||
*/
|
*/
|
||||||
public class FlatMenuUI
|
public class FlatMenuUI
|
||||||
extends BasicMenuUI
|
extends BasicMenuUI
|
||||||
{
|
{
|
||||||
private Color hoverBackground;
|
private Color hoverBackground;
|
||||||
|
private FlatMenuItemRenderer renderer;
|
||||||
|
|
||||||
public static ComponentUI createUI( JComponent c ) {
|
public static ComponentUI createUI( JComponent c ) {
|
||||||
return new FlatMenuUI();
|
return new FlatMenuUI();
|
||||||
@@ -79,9 +87,7 @@ public class FlatMenuUI
|
|||||||
menuItem.setRolloverEnabled( true );
|
menuItem.setRolloverEnabled( true );
|
||||||
|
|
||||||
hoverBackground = UIManager.getColor( "MenuBar.hoverBackground" );
|
hoverBackground = UIManager.getColor( "MenuBar.hoverBackground" );
|
||||||
|
renderer = createRenderer();
|
||||||
// scale
|
|
||||||
defaultTextIconGap = scale( defaultTextIconGap );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -89,19 +95,11 @@ public class FlatMenuUI
|
|||||||
super.uninstallDefaults();
|
super.uninstallDefaults();
|
||||||
|
|
||||||
hoverBackground = null;
|
hoverBackground = null;
|
||||||
|
renderer = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
protected FlatMenuItemRenderer createRenderer() {
|
||||||
* Scale defaultTextIconGap again if iconTextGap property has changed.
|
return new FlatMenuRenderer( menuItem, checkIcon, arrowIcon, acceleratorFont, acceleratorDelimiter );
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
protected PropertyChangeListener createPropertyChangeListener( JComponent c ) {
|
|
||||||
PropertyChangeListener superListener = super.createPropertyChangeListener( c );
|
|
||||||
return e -> {
|
|
||||||
superListener.propertyChange( e );
|
|
||||||
if( e.getPropertyName() == "iconTextGap" )
|
|
||||||
defaultTextIconGap = scale( defaultTextIconGap );
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -130,19 +128,37 @@ public class FlatMenuUI
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void paintBackground( Graphics g, JMenuItem menuItem, Color bgColor ) {
|
protected Dimension getPreferredMenuItemSize( JComponent c, Icon checkIcon, Icon arrowIcon, int defaultTextIconGap ) {
|
||||||
ButtonModel model = menuItem.getModel();
|
return renderer.getPreferredMenuItemSize();
|
||||||
if( model.isArmed() || model.isSelected() ) {
|
|
||||||
super.paintBackground( g, menuItem, bgColor );
|
|
||||||
} else if( model.isRollover() && model.isEnabled() && ((JMenu)menuItem).isTopLevelMenu() ) {
|
|
||||||
FlatUIUtils.setColor( g, hoverBackground, menuItem.getBackground() );
|
|
||||||
g.fillRect( 0, 0, menuItem.getWidth(), menuItem.getHeight() );
|
|
||||||
} else
|
|
||||||
super.paintBackground( g, menuItem, bgColor );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void paintText( Graphics g, JMenuItem menuItem, Rectangle textRect, String text ) {
|
public void paint( Graphics g, JComponent c ) {
|
||||||
FlatMenuItemUI.paintText( g, menuItem, textRect, text, disabledForeground, selectionForeground );
|
renderer.paintMenuItem( g, selectionBackground, selectionForeground, disabledForeground,
|
||||||
|
null, acceleratorForeground, acceleratorSelectionForeground );
|
||||||
|
}
|
||||||
|
|
||||||
|
//---- class FlatMenuRenderer ---------------------------------------------
|
||||||
|
|
||||||
|
protected class FlatMenuRenderer
|
||||||
|
extends FlatMenuItemRenderer
|
||||||
|
{
|
||||||
|
protected FlatMenuRenderer( JMenuItem menuItem, Icon checkIcon, Icon arrowIcon,
|
||||||
|
Font acceleratorFont, String acceleratorDelimiter )
|
||||||
|
{
|
||||||
|
super( menuItem, checkIcon, arrowIcon, acceleratorFont, acceleratorDelimiter );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void paintBackground( Graphics g, Color selectionBackground ) {
|
||||||
|
ButtonModel model = menuItem.getModel();
|
||||||
|
if( model.isRollover() && !model.isArmed() && !model.isSelected() &&
|
||||||
|
model.isEnabled() && ((JMenu)menuItem).isTopLevelMenu() )
|
||||||
|
{
|
||||||
|
FlatUIUtils.setColor( g, hoverBackground, menuItem.getBackground() );
|
||||||
|
g.fillRect( 0, 0, menuItem.getWidth(), menuItem.getHeight() );
|
||||||
|
} else
|
||||||
|
super.paintBackground( g, selectionBackground );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,12 +16,12 @@
|
|||||||
|
|
||||||
package com.formdev.flatlaf.ui;
|
package com.formdev.flatlaf.ui;
|
||||||
|
|
||||||
import static com.formdev.flatlaf.util.UIScale.scale;
|
import java.awt.Color;
|
||||||
|
import java.awt.Dimension;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.awt.Rectangle;
|
import javax.swing.Icon;
|
||||||
import java.beans.PropertyChangeListener;
|
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
||||||
import javax.swing.JMenuItem;
|
import javax.swing.UIManager;
|
||||||
import javax.swing.plaf.ComponentUI;
|
import javax.swing.plaf.ComponentUI;
|
||||||
import javax.swing.plaf.basic.BasicRadioButtonMenuItemUI;
|
import javax.swing.plaf.basic.BasicRadioButtonMenuItemUI;
|
||||||
|
|
||||||
@@ -48,11 +48,25 @@ import javax.swing.plaf.basic.BasicRadioButtonMenuItemUI;
|
|||||||
* @uiDefault RadioButtonMenuItem.opaque boolean
|
* @uiDefault RadioButtonMenuItem.opaque boolean
|
||||||
* @uiDefault RadioButtonMenuItem.evenHeight boolean
|
* @uiDefault RadioButtonMenuItem.evenHeight boolean
|
||||||
*
|
*
|
||||||
|
* <!-- FlatRadioButtonMenuItemUI -->
|
||||||
|
*
|
||||||
|
* @uiDefault RadioButtonMenuItem.checkBackground Color
|
||||||
|
*
|
||||||
|
* <!-- FlatMenuItemRenderer -->
|
||||||
|
*
|
||||||
|
* @uiDefault MenuItem.minimumIconSize Dimension
|
||||||
|
* @uiDefault MenuItem.textAcceleratorGap int
|
||||||
|
* @uiDefault MenuItem.acceleratorArrowGap int
|
||||||
|
* @uiDefault MenuItem.textArrowGap int
|
||||||
|
*
|
||||||
* @author Karl Tauber
|
* @author Karl Tauber
|
||||||
*/
|
*/
|
||||||
public class FlatRadioButtonMenuItemUI
|
public class FlatRadioButtonMenuItemUI
|
||||||
extends BasicRadioButtonMenuItemUI
|
extends BasicRadioButtonMenuItemUI
|
||||||
{
|
{
|
||||||
|
private Color checkBackground;
|
||||||
|
private FlatMenuItemRenderer renderer;
|
||||||
|
|
||||||
public static ComponentUI createUI( JComponent c ) {
|
public static ComponentUI createUI( JComponent c ) {
|
||||||
return new FlatRadioButtonMenuItemUI();
|
return new FlatRadioButtonMenuItemUI();
|
||||||
}
|
}
|
||||||
@@ -61,25 +75,30 @@ public class FlatRadioButtonMenuItemUI
|
|||||||
protected void installDefaults() {
|
protected void installDefaults() {
|
||||||
super.installDefaults();
|
super.installDefaults();
|
||||||
|
|
||||||
// scale
|
checkBackground = UIManager.getColor( "RadioButtonMenuItem.checkBackground" );
|
||||||
defaultTextIconGap = scale( defaultTextIconGap );
|
renderer = createRenderer();
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Scale defaultTextIconGap again if iconTextGap property has changed.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
protected PropertyChangeListener createPropertyChangeListener( JComponent c ) {
|
|
||||||
PropertyChangeListener superListener = super.createPropertyChangeListener( c );
|
|
||||||
return e -> {
|
|
||||||
superListener.propertyChange( e );
|
|
||||||
if( e.getPropertyName() == "iconTextGap" )
|
|
||||||
defaultTextIconGap = scale( defaultTextIconGap );
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void paintText( Graphics g, JMenuItem menuItem, Rectangle textRect, String text ) {
|
protected void uninstallDefaults() {
|
||||||
FlatMenuItemUI.paintText( g, menuItem, textRect, text, disabledForeground, selectionForeground );
|
super.uninstallDefaults();
|
||||||
|
|
||||||
|
checkBackground = null;
|
||||||
|
renderer = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected FlatMenuItemRenderer createRenderer() {
|
||||||
|
return new FlatMenuItemRenderer( menuItem, checkIcon, arrowIcon, acceleratorFont, acceleratorDelimiter );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Dimension getPreferredMenuItemSize( JComponent c, Icon checkIcon, Icon arrowIcon, int defaultTextIconGap ) {
|
||||||
|
return renderer.getPreferredMenuItemSize();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void paint( Graphics g, JComponent c ) {
|
||||||
|
renderer.paintMenuItem( g, selectionBackground, selectionForeground, disabledForeground,
|
||||||
|
checkBackground, acceleratorForeground, acceleratorSelectionForeground );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,8 @@
|
|||||||
@disabledText=#777777
|
@disabledText=#777777
|
||||||
@textComponentBackground=#45494A
|
@textComponentBackground=#45494A
|
||||||
@menuBackground=darken(@background,5%)
|
@menuBackground=darken(@background,5%)
|
||||||
|
@menuHoverBackground=lighten(@menuBackground,10%)
|
||||||
|
@menuCheckBackground=lighten(@menuBackground,15%)
|
||||||
@cellFocusColor=#000000
|
@cellFocusColor=#000000
|
||||||
@icon=#adadad
|
@icon=#adadad
|
||||||
|
|
||||||
@@ -53,7 +55,7 @@
|
|||||||
*.disabledBackground=@background
|
*.disabledBackground=@background
|
||||||
*.disabledForeground=@disabledText
|
*.disabledForeground=@disabledText
|
||||||
*.disabledText=@disabledText
|
*.disabledText=@disabledText
|
||||||
*.acceleratorForeground=#bbbbbb
|
*.acceleratorForeground=darken(@foreground,15%)
|
||||||
*.acceleratorSelectionForeground=@selectionForeground
|
*.acceleratorSelectionForeground=@selectionForeground
|
||||||
|
|
||||||
|
|
||||||
@@ -170,7 +172,7 @@ Menu.icon.disabledArrowColor=#606060
|
|||||||
#---- MenuBar ----
|
#---- MenuBar ----
|
||||||
|
|
||||||
MenuBar.borderColor=#515151
|
MenuBar.borderColor=#515151
|
||||||
MenuBar.hoverBackground=lighten($MenuBar.background,10%)
|
MenuBar.hoverBackground=@menuHoverBackground
|
||||||
|
|
||||||
|
|
||||||
#---- MenuItemCheckBox ----
|
#---- MenuItemCheckBox ----
|
||||||
|
|||||||
@@ -165,6 +165,7 @@ CheckBoxMenuItem.margin=@menuItemMargin
|
|||||||
CheckBoxMenuItem.opaque=false
|
CheckBoxMenuItem.opaque=false
|
||||||
CheckBoxMenuItem.borderPainted=true
|
CheckBoxMenuItem.borderPainted=true
|
||||||
CheckBoxMenuItem.background=@menuBackground
|
CheckBoxMenuItem.background=@menuBackground
|
||||||
|
CheckBoxMenuItem.checkBackground=@menuCheckBackground
|
||||||
|
|
||||||
|
|
||||||
#---- ColorChooser ----
|
#---- ColorChooser ----
|
||||||
@@ -299,7 +300,7 @@ Menu.background=@menuBackground
|
|||||||
|
|
||||||
MenuBar.border=com.formdev.flatlaf.ui.FlatMenuBarBorder
|
MenuBar.border=com.formdev.flatlaf.ui.FlatMenuBarBorder
|
||||||
MenuBar.background=@menuBackground
|
MenuBar.background=@menuBackground
|
||||||
MenuBar.itemMargins=3,3,3,3
|
MenuBar.itemMargins=3,8,3,8
|
||||||
|
|
||||||
|
|
||||||
#---- MenuItem ----
|
#---- MenuItem ----
|
||||||
@@ -311,9 +312,18 @@ MenuItem.margin=@menuItemMargin
|
|||||||
MenuItem.opaque=false
|
MenuItem.opaque=false
|
||||||
MenuItem.borderPainted=true
|
MenuItem.borderPainted=true
|
||||||
MenuItem.background=@menuBackground
|
MenuItem.background=@menuBackground
|
||||||
|
MenuItem.minimumWidth=72
|
||||||
|
MenuItem.minimumIconSize=16,16
|
||||||
|
MenuItem.textAcceleratorGap=24
|
||||||
|
MenuItem.textArrowGap=8
|
||||||
MenuItem.acceleratorDelimiter=-
|
MenuItem.acceleratorDelimiter=-
|
||||||
[mac]MenuItem.acceleratorDelimiter=
|
[mac]MenuItem.acceleratorDelimiter=
|
||||||
|
|
||||||
|
# for MenuItem.selectionType=underline
|
||||||
|
MenuItem.underlineSelectionBackground=@menuHoverBackground
|
||||||
|
MenuItem.underlineSelectionColor=$TabbedPane.underlineColor
|
||||||
|
MenuItem.underlineSelectionHeight=3
|
||||||
|
|
||||||
|
|
||||||
#---- OptionPane ----
|
#---- OptionPane ----
|
||||||
|
|
||||||
@@ -391,6 +401,7 @@ RadioButtonMenuItem.margin=@menuItemMargin
|
|||||||
RadioButtonMenuItem.opaque=false
|
RadioButtonMenuItem.opaque=false
|
||||||
RadioButtonMenuItem.borderPainted=true
|
RadioButtonMenuItem.borderPainted=true
|
||||||
RadioButtonMenuItem.background=@menuBackground
|
RadioButtonMenuItem.background=@menuBackground
|
||||||
|
RadioButtonMenuItem.checkBackground=@menuCheckBackground
|
||||||
|
|
||||||
|
|
||||||
#---- ScrollBar ----
|
#---- ScrollBar ----
|
||||||
|
|||||||
@@ -29,6 +29,8 @@
|
|||||||
@disabledText=#8C8C8C
|
@disabledText=#8C8C8C
|
||||||
@textComponentBackground=#ffffff
|
@textComponentBackground=#ffffff
|
||||||
@menuBackground=#fff
|
@menuBackground=#fff
|
||||||
|
@menuHoverBackground=darken(@menuBackground,10%)
|
||||||
|
@menuCheckBackground=darken(@menuBackground,15%)
|
||||||
@cellFocusColor=#000000
|
@cellFocusColor=#000000
|
||||||
@icon=#afafaf
|
@icon=#afafaf
|
||||||
|
|
||||||
@@ -53,7 +55,7 @@
|
|||||||
*.disabledBackground=@background
|
*.disabledBackground=@background
|
||||||
*.disabledForeground=@disabledText
|
*.disabledForeground=@disabledText
|
||||||
*.disabledText=@disabledText
|
*.disabledText=@disabledText
|
||||||
*.acceleratorForeground=#505050
|
*.acceleratorForeground=lighten(@foreground,30%)
|
||||||
*.acceleratorSelectionForeground=@selectionForeground
|
*.acceleratorSelectionForeground=@selectionForeground
|
||||||
|
|
||||||
|
|
||||||
@@ -177,7 +179,7 @@ Menu.icon.disabledArrowColor=#ABABAB
|
|||||||
#---- MenuBar ----
|
#---- MenuBar ----
|
||||||
|
|
||||||
MenuBar.borderColor=#cdcdcd
|
MenuBar.borderColor=#cdcdcd
|
||||||
MenuBar.hoverBackground=darken($MenuBar.background,10%)
|
MenuBar.hoverBackground=@menuHoverBackground
|
||||||
|
|
||||||
|
|
||||||
#---- MenuItemCheckBox ----
|
#---- MenuItemCheckBox ----
|
||||||
|
|||||||
@@ -59,6 +59,11 @@ class DemoFrame
|
|||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void underlineMenuSelection() {
|
||||||
|
UIManager.put( "MenuItem.selectionType", underlineMenuSelectionMenuItem.isSelected() ? "underline" : null );
|
||||||
|
FlatLaf.updateUI();
|
||||||
|
}
|
||||||
|
|
||||||
private void fontFamilyChanged( ActionEvent e ) {
|
private void fontFamilyChanged( ActionEvent e ) {
|
||||||
String fontFamily = e.getActionCommand();
|
String fontFamily = e.getActionCommand();
|
||||||
|
|
||||||
@@ -132,6 +137,8 @@ class DemoFrame
|
|||||||
JMenuItem restoreFontMenuItem = new JMenuItem();
|
JMenuItem restoreFontMenuItem = new JMenuItem();
|
||||||
JMenuItem incrFontMenuItem = new JMenuItem();
|
JMenuItem incrFontMenuItem = new JMenuItem();
|
||||||
JMenuItem decrFontMenuItem = new JMenuItem();
|
JMenuItem decrFontMenuItem = new JMenuItem();
|
||||||
|
JMenu optionsMenu = new JMenu();
|
||||||
|
underlineMenuSelectionMenuItem = new JCheckBoxMenuItem();
|
||||||
JMenu helpMenu = new JMenu();
|
JMenu helpMenu = new JMenu();
|
||||||
JMenuItem aboutMenuItem = new JMenuItem();
|
JMenuItem aboutMenuItem = new JMenuItem();
|
||||||
JToolBar toolBar1 = new JToolBar();
|
JToolBar toolBar1 = new JToolBar();
|
||||||
@@ -355,6 +362,17 @@ class DemoFrame
|
|||||||
}
|
}
|
||||||
menuBar1.add(fontMenu);
|
menuBar1.add(fontMenu);
|
||||||
|
|
||||||
|
//======== optionsMenu ========
|
||||||
|
{
|
||||||
|
optionsMenu.setText("Options");
|
||||||
|
|
||||||
|
//---- underlineMenuSelectionMenuItem ----
|
||||||
|
underlineMenuSelectionMenuItem.setText("Use underline menu selection");
|
||||||
|
underlineMenuSelectionMenuItem.addActionListener(e -> underlineMenuSelection());
|
||||||
|
optionsMenu.add(underlineMenuSelectionMenuItem);
|
||||||
|
}
|
||||||
|
menuBar1.add(optionsMenu);
|
||||||
|
|
||||||
//======== helpMenu ========
|
//======== helpMenu ========
|
||||||
{
|
{
|
||||||
helpMenu.setText("Help");
|
helpMenu.setText("Help");
|
||||||
@@ -481,6 +499,7 @@ class DemoFrame
|
|||||||
|
|
||||||
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
|
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
|
||||||
private JMenu fontMenu;
|
private JMenu fontMenu;
|
||||||
|
private JCheckBoxMenuItem underlineMenuSelectionMenuItem;
|
||||||
private JTabbedPane tabbedPane;
|
private JTabbedPane tabbedPane;
|
||||||
private ControlBar controlBar;
|
private ControlBar controlBar;
|
||||||
// JFormDesigner - End of variables declaration //GEN-END:variables
|
// JFormDesigner - End of variables declaration //GEN-END:variables
|
||||||
|
|||||||
@@ -310,6 +310,18 @@ new FormModel {
|
|||||||
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "decrFont", false ) )
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "decrFont", false ) )
|
||||||
} )
|
} )
|
||||||
} )
|
} )
|
||||||
|
add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) {
|
||||||
|
name: "optionsMenu"
|
||||||
|
"text": "Options"
|
||||||
|
add( new FormComponent( "javax.swing.JCheckBoxMenuItem" ) {
|
||||||
|
name: "underlineMenuSelectionMenuItem"
|
||||||
|
"text": "Use underline menu selection"
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "underlineMenuSelection", false ) )
|
||||||
|
} )
|
||||||
|
} )
|
||||||
add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) {
|
add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) {
|
||||||
name: "helpMenu"
|
name: "helpMenu"
|
||||||
"text": "Help"
|
"text": "Help"
|
||||||
|
|||||||
@@ -18,8 +18,13 @@ package com.formdev.flatlaf.testing;
|
|||||||
|
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.Container;
|
import java.awt.Container;
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.awt.Graphics;
|
||||||
import java.awt.event.*;
|
import java.awt.event.*;
|
||||||
|
import java.util.function.Supplier;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
import com.formdev.flatlaf.FlatLaf;
|
||||||
|
import com.formdev.flatlaf.util.UIScale;
|
||||||
import net.miginfocom.swing.*;
|
import net.miginfocom.swing.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -31,12 +36,15 @@ public class FlatMenusTest
|
|||||||
public static void main( String[] args ) {
|
public static void main( String[] args ) {
|
||||||
SwingUtilities.invokeLater( () -> {
|
SwingUtilities.invokeLater( () -> {
|
||||||
FlatTestFrame frame = FlatTestFrame.create( args, "FlatMenusTest" );
|
FlatTestFrame frame = FlatTestFrame.create( args, "FlatMenusTest" );
|
||||||
|
frame.useApplyComponentOrientation = true;
|
||||||
frame.showFrame( FlatMenusTest::new );
|
frame.showFrame( FlatMenusTest::new );
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
FlatMenusTest() {
|
FlatMenusTest() {
|
||||||
initComponents();
|
initComponents();
|
||||||
|
|
||||||
|
largerCheckBox.setSelected( LargerMenuItem.useLargerSize );
|
||||||
}
|
}
|
||||||
|
|
||||||
private void armedChanged() {
|
private void armedChanged() {
|
||||||
@@ -54,6 +62,11 @@ public class FlatMenusTest
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void underlineChanged() {
|
||||||
|
UIManager.put( "MenuItem.selectionType", underlineCheckBox.isSelected() ? "underline" : null );
|
||||||
|
FlatLaf.updateUI();
|
||||||
|
}
|
||||||
|
|
||||||
private void showPopupMenuButtonActionPerformed(ActionEvent e) {
|
private void showPopupMenuButtonActionPerformed(ActionEvent e) {
|
||||||
Component invoker = (Component) e.getSource();
|
Component invoker = (Component) e.getSource();
|
||||||
PopupMenu popupMenu = new PopupMenu();
|
PopupMenu popupMenu = new PopupMenu();
|
||||||
@@ -61,16 +74,102 @@ public class FlatMenusTest
|
|||||||
popupMenu.show( invoker, 0, invoker.getHeight() );
|
popupMenu.show( invoker, 0, invoker.getHeight() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void largerChanged() {
|
||||||
|
LargerMenuItem.useLargerSize = largerCheckBox.isSelected();
|
||||||
|
menuBar2.revalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void accelChanged() {
|
||||||
|
updateAccel( menuBar2, () -> {
|
||||||
|
return accelCheckBox.isSelected() ? getRandomKeyStroke() : null;
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateAccel( Component c, Supplier<KeyStroke> keyStrokeSupplier ) {
|
||||||
|
if( c instanceof JMenuItem && !(c instanceof JMenu) )
|
||||||
|
((JMenuItem)c).setAccelerator( keyStrokeSupplier.get() );
|
||||||
|
|
||||||
|
if( c instanceof Container ) {
|
||||||
|
for( Component c2 : ((Container)c).getComponents() )
|
||||||
|
updateAccel( c2, keyStrokeSupplier );
|
||||||
|
}
|
||||||
|
if( c instanceof JMenu ) {
|
||||||
|
randomKeyStrokeIndex = 0;
|
||||||
|
JMenu menu = (JMenu) c;
|
||||||
|
int itemCount = menu.getItemCount();
|
||||||
|
for( int i = 0; i < itemCount; i++ )
|
||||||
|
updateAccel( menu.getItem( i ), keyStrokeSupplier );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private KeyStroke getRandomKeyStroke() {
|
||||||
|
if( randomKeyStrokeIndex >= randomKeyStrokes.length )
|
||||||
|
randomKeyStrokeIndex = 0;
|
||||||
|
return randomKeyStrokes[randomKeyStrokeIndex++];
|
||||||
|
}
|
||||||
|
|
||||||
|
private int randomKeyStrokeIndex = 0;
|
||||||
|
private final KeyStroke[] randomKeyStrokes = {
|
||||||
|
KeyStroke.getKeyStroke( KeyEvent.VK_F2, 0 ),
|
||||||
|
KeyStroke.getKeyStroke( KeyEvent.VK_A, KeyEvent.CTRL_MASK ),
|
||||||
|
KeyStroke.getKeyStroke( KeyEvent.VK_B, KeyEvent.CTRL_MASK | KeyEvent.SHIFT_MASK ),
|
||||||
|
KeyStroke.getKeyStroke( KeyEvent.VK_BACK_SPACE, 0 ),
|
||||||
|
KeyStroke.getKeyStroke( KeyEvent.VK_PAGE_UP, 0 ),
|
||||||
|
KeyStroke.getKeyStroke( KeyEvent.VK_C, KeyEvent.ALT_MASK ),
|
||||||
|
KeyStroke.getKeyStroke( KeyEvent.VK_ENTER, 0 ),
|
||||||
|
KeyStroke.getKeyStroke( KeyEvent.VK_F10, 0 ),
|
||||||
|
KeyStroke.getKeyStroke( KeyEvent.VK_0, 0 ),
|
||||||
|
};
|
||||||
|
|
||||||
private void initComponents() {
|
private void initComponents() {
|
||||||
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
|
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
|
||||||
JLabel menuBarLabel = new JLabel();
|
JLabel menuBarLabel = new JLabel();
|
||||||
JMenuBar menuBar1 = new JMenuBar();
|
JMenuBar menuBar1 = new JMenuBar();
|
||||||
JMenu menu5 = new JMenu();
|
JMenu menu5 = new JMenu();
|
||||||
|
JMenuItem menuItem35 = new JMenuItem();
|
||||||
JMenuItem menuItem7 = new JMenuItem();
|
JMenuItem menuItem7 = new JMenuItem();
|
||||||
|
JMenuItem menuItem34 = new JMenuItem();
|
||||||
JMenuItem menuItem8 = new JMenuItem();
|
JMenuItem menuItem8 = new JMenuItem();
|
||||||
|
JMenu menu11 = new JMenu();
|
||||||
|
JMenuItem menuItem36 = new JMenuItem();
|
||||||
|
JMenuItem menuItem37 = new JMenuItem();
|
||||||
|
JCheckBoxMenuItem checkBoxMenuItem6 = new JCheckBoxMenuItem();
|
||||||
|
JCheckBoxMenuItem checkBoxMenuItem7 = new JCheckBoxMenuItem();
|
||||||
|
JRadioButtonMenuItem radioButtonMenuItem5 = new JRadioButtonMenuItem();
|
||||||
|
JRadioButtonMenuItem radioButtonMenuItem6 = new JRadioButtonMenuItem();
|
||||||
|
JRadioButtonMenuItem radioButtonMenuItem8 = new JRadioButtonMenuItem();
|
||||||
|
JRadioButtonMenuItem radioButtonMenuItem9 = new JRadioButtonMenuItem();
|
||||||
JMenu menu6 = new JMenu();
|
JMenu menu6 = new JMenu();
|
||||||
JMenuItem menuItem5 = new JMenuItem();
|
JMenuItem menuItem5 = new JMenuItem();
|
||||||
JMenuItem menuItem6 = new JMenuItem();
|
JMenuItem menuItem6 = new JMenuItem();
|
||||||
|
menuBar2 = new JMenuBar();
|
||||||
|
JMenu menu8 = new JMenu();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem13 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem14 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem27 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem15 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem16 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem28 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem18 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem17 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem19 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
JMenuItem menuItem31 = new JMenuItem();
|
||||||
|
JMenu menu9 = new JMenu();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem20 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem21 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem29 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem22 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem23 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem30 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem25 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem24 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem26 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
JMenuItem menuItem32 = new JMenuItem();
|
||||||
|
JMenu menu10 = new JMenu();
|
||||||
|
FlatMenusTest.LargerMenuItem menuItem33 = new FlatMenusTest.LargerMenuItem();
|
||||||
|
JPanel panel5 = new JPanel();
|
||||||
|
largerCheckBox = new JCheckBox();
|
||||||
|
accelCheckBox = new JCheckBox();
|
||||||
JPanel panel1 = new JPanel();
|
JPanel panel1 = new JPanel();
|
||||||
JLabel menuLabel = new JLabel();
|
JLabel menuLabel = new JLabel();
|
||||||
JMenu menu1 = new JMenu();
|
JMenu menu1 = new JMenu();
|
||||||
@@ -100,6 +199,7 @@ public class FlatMenusTest
|
|||||||
JLabel popupMenuLabel = new JLabel();
|
JLabel popupMenuLabel = new JLabel();
|
||||||
JButton showPopupMenuButton = new JButton();
|
JButton showPopupMenuButton = new JButton();
|
||||||
armedCheckBox = new JCheckBox();
|
armedCheckBox = new JCheckBox();
|
||||||
|
underlineCheckBox = new JCheckBox();
|
||||||
|
|
||||||
//======== this ========
|
//======== this ========
|
||||||
setLayout(new MigLayout(
|
setLayout(new MigLayout(
|
||||||
@@ -114,6 +214,7 @@ public class FlatMenusTest
|
|||||||
"[]" +
|
"[]" +
|
||||||
"[top]" +
|
"[top]" +
|
||||||
"[]" +
|
"[]" +
|
||||||
|
"[]" +
|
||||||
"[]"));
|
"[]"));
|
||||||
|
|
||||||
//---- menuBarLabel ----
|
//---- menuBarLabel ----
|
||||||
@@ -127,16 +228,77 @@ public class FlatMenusTest
|
|||||||
{
|
{
|
||||||
menu5.setText("text");
|
menu5.setText("text");
|
||||||
menu5.setMnemonic('T');
|
menu5.setMnemonic('T');
|
||||||
|
menu5.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-showReadAccess.png")));
|
||||||
|
|
||||||
|
//---- menuItem35 ----
|
||||||
|
menuItem35.setText("text");
|
||||||
|
menu5.add(menuItem35);
|
||||||
|
|
||||||
//---- menuItem7 ----
|
//---- menuItem7 ----
|
||||||
menuItem7.setText("text");
|
menuItem7.setText("text");
|
||||||
menuItem7.setMnemonic('X');
|
menuItem7.setMnemonic('X');
|
||||||
|
menuItem7.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-showWriteAccess.png")));
|
||||||
|
menuItem7.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_J, KeyEvent.CTRL_MASK|KeyEvent.SHIFT_MASK));
|
||||||
menu5.add(menuItem7);
|
menu5.add(menuItem7);
|
||||||
|
|
||||||
|
//---- menuItem34 ----
|
||||||
|
menuItem34.setText("longer text longer text");
|
||||||
|
menuItem34.setMnemonic('E');
|
||||||
|
menuItem34.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4, 0));
|
||||||
|
menu5.add(menuItem34);
|
||||||
|
|
||||||
//---- menuItem8 ----
|
//---- menuItem8 ----
|
||||||
menuItem8.setText("text");
|
menuItem8.setText("longer text longer text longer");
|
||||||
menuItem8.setMnemonic('E');
|
menuItem8.setMnemonic('E');
|
||||||
menu5.add(menuItem8);
|
menu5.add(menuItem8);
|
||||||
|
|
||||||
|
//======== menu11 ========
|
||||||
|
{
|
||||||
|
menu11.setText("sub menu");
|
||||||
|
|
||||||
|
//---- menuItem36 ----
|
||||||
|
menuItem36.setText("text");
|
||||||
|
menu11.add(menuItem36);
|
||||||
|
|
||||||
|
//---- menuItem37 ----
|
||||||
|
menuItem37.setText("text");
|
||||||
|
menu11.add(menuItem37);
|
||||||
|
}
|
||||||
|
menu5.add(menu11);
|
||||||
|
menu5.addSeparator();
|
||||||
|
|
||||||
|
//---- checkBoxMenuItem6 ----
|
||||||
|
checkBoxMenuItem6.setText("check");
|
||||||
|
checkBoxMenuItem6.setSelected(true);
|
||||||
|
menu5.add(checkBoxMenuItem6);
|
||||||
|
|
||||||
|
//---- checkBoxMenuItem7 ----
|
||||||
|
checkBoxMenuItem7.setText("check with icon");
|
||||||
|
checkBoxMenuItem7.setSelected(true);
|
||||||
|
checkBoxMenuItem7.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-showReadAccess.png")));
|
||||||
|
menu5.add(checkBoxMenuItem7);
|
||||||
|
menu5.addSeparator();
|
||||||
|
|
||||||
|
//---- radioButtonMenuItem5 ----
|
||||||
|
radioButtonMenuItem5.setText("radio 1");
|
||||||
|
radioButtonMenuItem5.setSelected(true);
|
||||||
|
menu5.add(radioButtonMenuItem5);
|
||||||
|
|
||||||
|
//---- radioButtonMenuItem6 ----
|
||||||
|
radioButtonMenuItem6.setText("radio 2");
|
||||||
|
menu5.add(radioButtonMenuItem6);
|
||||||
|
menu5.addSeparator();
|
||||||
|
|
||||||
|
//---- radioButtonMenuItem8 ----
|
||||||
|
radioButtonMenuItem8.setText("radio with icon 1");
|
||||||
|
radioButtonMenuItem8.setSelected(true);
|
||||||
|
radioButtonMenuItem8.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-showReadAccess.png")));
|
||||||
|
menu5.add(radioButtonMenuItem8);
|
||||||
|
|
||||||
|
//---- radioButtonMenuItem9 ----
|
||||||
|
radioButtonMenuItem9.setText("radio with icon 2");
|
||||||
|
radioButtonMenuItem9.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-showWriteAccess.png")));
|
||||||
|
menu5.add(radioButtonMenuItem9);
|
||||||
}
|
}
|
||||||
menuBar1.add(menu5);
|
menuBar1.add(menu5);
|
||||||
|
|
||||||
@@ -154,7 +316,182 @@ public class FlatMenusTest
|
|||||||
}
|
}
|
||||||
menuBar1.add(menu6);
|
menuBar1.add(menu6);
|
||||||
}
|
}
|
||||||
add(menuBar1, "cell 1 0 4 1,growx");
|
add(menuBar1, "cell 1 0 2 1,growx");
|
||||||
|
|
||||||
|
//======== menuBar2 ========
|
||||||
|
{
|
||||||
|
|
||||||
|
//======== menu8 ========
|
||||||
|
{
|
||||||
|
menu8.setText("text position");
|
||||||
|
menu8.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste.png")));
|
||||||
|
menu8.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
|
menu8.setVerticalTextPosition(SwingConstants.BOTTOM);
|
||||||
|
|
||||||
|
//---- menuItem13 ----
|
||||||
|
menuItem13.setText("vert top");
|
||||||
|
menuItem13.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menuItem13.setVerticalTextPosition(SwingConstants.TOP);
|
||||||
|
menu8.add(menuItem13);
|
||||||
|
|
||||||
|
//---- menuItem14 ----
|
||||||
|
menuItem14.setText("vert bottom");
|
||||||
|
menuItem14.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menuItem14.setVerticalTextPosition(SwingConstants.BOTTOM);
|
||||||
|
menu8.add(menuItem14);
|
||||||
|
|
||||||
|
//---- menuItem27 ----
|
||||||
|
menuItem27.setText("horz leading");
|
||||||
|
menuItem27.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menuItem27.setHorizontalTextPosition(SwingConstants.LEADING);
|
||||||
|
menu8.add(menuItem27);
|
||||||
|
|
||||||
|
//---- menuItem15 ----
|
||||||
|
menuItem15.setText("horz left");
|
||||||
|
menuItem15.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menuItem15.setHorizontalTextPosition(SwingConstants.LEFT);
|
||||||
|
menu8.add(menuItem15);
|
||||||
|
|
||||||
|
//---- menuItem16 ----
|
||||||
|
menuItem16.setText("horz right");
|
||||||
|
menuItem16.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menuItem16.setHorizontalTextPosition(SwingConstants.RIGHT);
|
||||||
|
menu8.add(menuItem16);
|
||||||
|
|
||||||
|
//---- menuItem28 ----
|
||||||
|
menuItem28.setText("horz trailing");
|
||||||
|
menuItem28.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menu8.add(menuItem28);
|
||||||
|
|
||||||
|
//---- menuItem18 ----
|
||||||
|
menuItem18.setText("horz center / vert top");
|
||||||
|
menuItem18.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menuItem18.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
|
menuItem18.setVerticalTextPosition(SwingConstants.TOP);
|
||||||
|
menu8.add(menuItem18);
|
||||||
|
|
||||||
|
//---- menuItem17 ----
|
||||||
|
menuItem17.setText("horz center / vert bottom");
|
||||||
|
menuItem17.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menuItem17.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
|
menuItem17.setVerticalTextPosition(SwingConstants.BOTTOM);
|
||||||
|
menu8.add(menuItem17);
|
||||||
|
|
||||||
|
//---- menuItem19 ----
|
||||||
|
menuItem19.setText("horz center / vert center");
|
||||||
|
menuItem19.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menuItem19.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
|
menu8.add(menuItem19);
|
||||||
|
|
||||||
|
//---- menuItem31 ----
|
||||||
|
menuItem31.setText("1234567890123456789012345678901234567890");
|
||||||
|
menu8.add(menuItem31);
|
||||||
|
}
|
||||||
|
menuBar2.add(menu8);
|
||||||
|
|
||||||
|
//======== menu9 ========
|
||||||
|
{
|
||||||
|
menu9.setText("alignment");
|
||||||
|
menu9.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste.png")));
|
||||||
|
menu9.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
|
menu9.setVerticalTextPosition(SwingConstants.TOP);
|
||||||
|
|
||||||
|
//---- menuItem20 ----
|
||||||
|
menuItem20.setText("vert top");
|
||||||
|
menuItem20.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menuItem20.setVerticalAlignment(SwingConstants.TOP);
|
||||||
|
menu9.add(menuItem20);
|
||||||
|
|
||||||
|
//---- menuItem21 ----
|
||||||
|
menuItem21.setText("vert bottom");
|
||||||
|
menuItem21.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menuItem21.setVerticalAlignment(SwingConstants.BOTTOM);
|
||||||
|
menu9.add(menuItem21);
|
||||||
|
|
||||||
|
//---- menuItem29 ----
|
||||||
|
menuItem29.setText("horz leading");
|
||||||
|
menuItem29.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menu9.add(menuItem29);
|
||||||
|
|
||||||
|
//---- menuItem22 ----
|
||||||
|
menuItem22.setText("horz left");
|
||||||
|
menuItem22.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menuItem22.setHorizontalAlignment(SwingConstants.LEFT);
|
||||||
|
menu9.add(menuItem22);
|
||||||
|
|
||||||
|
//---- menuItem23 ----
|
||||||
|
menuItem23.setText("horz right");
|
||||||
|
menuItem23.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menuItem23.setHorizontalAlignment(SwingConstants.RIGHT);
|
||||||
|
menu9.add(menuItem23);
|
||||||
|
|
||||||
|
//---- menuItem30 ----
|
||||||
|
menuItem30.setText("horz trailing");
|
||||||
|
menuItem30.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menuItem30.setHorizontalAlignment(SwingConstants.TRAILING);
|
||||||
|
menu9.add(menuItem30);
|
||||||
|
|
||||||
|
//---- menuItem25 ----
|
||||||
|
menuItem25.setText("horz center / vert top");
|
||||||
|
menuItem25.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menuItem25.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
menuItem25.setVerticalAlignment(SwingConstants.TOP);
|
||||||
|
menu9.add(menuItem25);
|
||||||
|
|
||||||
|
//---- menuItem24 ----
|
||||||
|
menuItem24.setText("horz center / vert bottom");
|
||||||
|
menuItem24.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menuItem24.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
menuItem24.setVerticalAlignment(SwingConstants.BOTTOM);
|
||||||
|
menu9.add(menuItem24);
|
||||||
|
|
||||||
|
//---- menuItem26 ----
|
||||||
|
menuItem26.setText("horz center / vert center");
|
||||||
|
menuItem26.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menuItem26.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
menu9.add(menuItem26);
|
||||||
|
|
||||||
|
//---- menuItem32 ----
|
||||||
|
menuItem32.setText("1234567890123456789012345678901234567890");
|
||||||
|
menu9.add(menuItem32);
|
||||||
|
}
|
||||||
|
menuBar2.add(menu9);
|
||||||
|
|
||||||
|
//======== menu10 ========
|
||||||
|
{
|
||||||
|
menu10.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menu10.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
|
menu10.setVerticalTextPosition(SwingConstants.TOP);
|
||||||
|
|
||||||
|
//---- menuItem33 ----
|
||||||
|
menuItem33.setIcon(new ImageIcon(getClass().getResource("/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png")));
|
||||||
|
menu10.add(menuItem33);
|
||||||
|
}
|
||||||
|
menuBar2.add(menu10);
|
||||||
|
}
|
||||||
|
add(menuBar2, "cell 3 0 2 1,growx");
|
||||||
|
|
||||||
|
//======== panel5 ========
|
||||||
|
{
|
||||||
|
panel5.setLayout(new MigLayout(
|
||||||
|
"ltr,insets 0,hidemode 3",
|
||||||
|
// columns
|
||||||
|
"[]",
|
||||||
|
// rows
|
||||||
|
"[]0" +
|
||||||
|
"[]"));
|
||||||
|
|
||||||
|
//---- largerCheckBox ----
|
||||||
|
largerCheckBox.setText("larger");
|
||||||
|
largerCheckBox.addActionListener(e -> largerChanged());
|
||||||
|
panel5.add(largerCheckBox, "cell 0 0");
|
||||||
|
|
||||||
|
//---- accelCheckBox ----
|
||||||
|
accelCheckBox.setText("accel");
|
||||||
|
accelCheckBox.addActionListener(e -> accelChanged());
|
||||||
|
panel5.add(accelCheckBox, "cell 0 1");
|
||||||
|
}
|
||||||
|
add(panel5, "cell 3 0 2 1");
|
||||||
|
|
||||||
//======== panel1 ========
|
//======== panel1 ========
|
||||||
{
|
{
|
||||||
@@ -197,7 +534,7 @@ public class FlatMenusTest
|
|||||||
panel1.add(checkBoxMenuItemLabel, "cell 0 2");
|
panel1.add(checkBoxMenuItemLabel, "cell 0 2");
|
||||||
|
|
||||||
//---- checkBoxMenuItem1 ----
|
//---- checkBoxMenuItem1 ----
|
||||||
checkBoxMenuItem1.setText("enabled");
|
checkBoxMenuItem1.setText("<html>en<b>abl</b>ed</html>");
|
||||||
checkBoxMenuItem1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0));
|
checkBoxMenuItem1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0));
|
||||||
checkBoxMenuItem1.setMnemonic('A');
|
checkBoxMenuItem1.setMnemonic('A');
|
||||||
panel1.add(checkBoxMenuItem1, "cell 1 2");
|
panel1.add(checkBoxMenuItem1, "cell 1 2");
|
||||||
@@ -361,13 +698,34 @@ public class FlatMenusTest
|
|||||||
armedCheckBox.setMnemonic('A');
|
armedCheckBox.setMnemonic('A');
|
||||||
armedCheckBox.addActionListener(e -> armedChanged());
|
armedCheckBox.addActionListener(e -> armedChanged());
|
||||||
add(armedCheckBox, "cell 0 3");
|
add(armedCheckBox, "cell 0 3");
|
||||||
|
|
||||||
|
//---- underlineCheckBox ----
|
||||||
|
underlineCheckBox.setText("underline menu selection");
|
||||||
|
underlineCheckBox.addActionListener(e -> underlineChanged());
|
||||||
|
add(underlineCheckBox, "cell 0 4 2 1");
|
||||||
|
|
||||||
|
//---- buttonGroup1 ----
|
||||||
|
ButtonGroup buttonGroup1 = new ButtonGroup();
|
||||||
|
buttonGroup1.add(radioButtonMenuItem5);
|
||||||
|
buttonGroup1.add(radioButtonMenuItem6);
|
||||||
|
|
||||||
|
//---- buttonGroup2 ----
|
||||||
|
ButtonGroup buttonGroup2 = new ButtonGroup();
|
||||||
|
buttonGroup2.add(radioButtonMenuItem8);
|
||||||
|
buttonGroup2.add(radioButtonMenuItem9);
|
||||||
// JFormDesigner - End of component initialization //GEN-END:initComponents
|
// JFormDesigner - End of component initialization //GEN-END:initComponents
|
||||||
}
|
}
|
||||||
|
|
||||||
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
|
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
|
||||||
|
private JMenuBar menuBar2;
|
||||||
|
private JCheckBox largerCheckBox;
|
||||||
|
private JCheckBox accelCheckBox;
|
||||||
private JCheckBox armedCheckBox;
|
private JCheckBox armedCheckBox;
|
||||||
|
private JCheckBox underlineCheckBox;
|
||||||
// JFormDesigner - End of variables declaration //GEN-END:variables
|
// JFormDesigner - End of variables declaration //GEN-END:variables
|
||||||
|
|
||||||
|
//---- class PopupMenu ----------------------------------------------------
|
||||||
|
|
||||||
private class PopupMenu extends JPopupMenu {
|
private class PopupMenu extends JPopupMenu {
|
||||||
private PopupMenu() {
|
private PopupMenu() {
|
||||||
initComponents();
|
initComponents();
|
||||||
@@ -417,4 +775,30 @@ public class FlatMenusTest
|
|||||||
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
|
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
|
||||||
// JFormDesigner - End of variables declaration //GEN-END:variables
|
// JFormDesigner - End of variables declaration //GEN-END:variables
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---- class LargerMenuItem -----------------------------------------------
|
||||||
|
|
||||||
|
public static class LargerMenuItem
|
||||||
|
extends JMenuItem
|
||||||
|
{
|
||||||
|
static boolean useLargerSize = true;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Dimension getPreferredSize() {
|
||||||
|
Dimension size = super.getPreferredSize();
|
||||||
|
return useLargerSize
|
||||||
|
? new Dimension( size.width + UIScale.scale( 40 ),
|
||||||
|
size.height + UIScale.scale( 30 ) )
|
||||||
|
: size;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void paintComponent( Graphics g ) {
|
||||||
|
super.paintComponent( g );
|
||||||
|
|
||||||
|
g.setColor( UIManager.getColor( "Separator.foreground" ) );
|
||||||
|
g.drawLine( 0, 0, getWidth(), 0 );
|
||||||
|
g.drawLine( 0, getHeight(), getWidth(), getHeight() );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
JFDML JFormDesigner: "7.0.0.0.194" Java: "13.0.1" encoding: "UTF-8"
|
JFDML JFormDesigner: "7.0.1.0.272" Java: "13.0.2" encoding: "UTF-8"
|
||||||
|
|
||||||
new FormModel {
|
new FormModel {
|
||||||
contentType: "form/swing"
|
contentType: "form/swing"
|
||||||
@@ -9,7 +9,7 @@ new FormModel {
|
|||||||
add( new FormContainer( "com.formdev.flatlaf.testing.FlatTestPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
|
add( new FormContainer( "com.formdev.flatlaf.testing.FlatTestPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
|
||||||
"$layoutConstraints": "ltr,insets dialog,hidemode 3"
|
"$layoutConstraints": "ltr,insets dialog,hidemode 3"
|
||||||
"$columnConstraints": "[125][][][][]"
|
"$columnConstraints": "[125][][][][]"
|
||||||
"$rowConstraints": "[][top][][]"
|
"$rowConstraints": "[][top][][][]"
|
||||||
} ) {
|
} ) {
|
||||||
name: "this"
|
name: "this"
|
||||||
add( new FormComponent( "javax.swing.JLabel" ) {
|
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||||
@@ -24,16 +24,85 @@ new FormModel {
|
|||||||
name: "menu5"
|
name: "menu5"
|
||||||
"text": "text"
|
"text": "text"
|
||||||
"mnemonic": 84
|
"mnemonic": 84
|
||||||
|
"icon": new com.jformdesigner.model.SwingIcon( 0, "/com/formdev/flatlaf/testing/disabled_icons_test/intellij-showReadAccess.png" )
|
||||||
|
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||||
|
name: "menuItem35"
|
||||||
|
"text": "text"
|
||||||
|
} )
|
||||||
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||||
name: "menuItem7"
|
name: "menuItem7"
|
||||||
"text": "text"
|
"text": "text"
|
||||||
"mnemonic": 88
|
"mnemonic": 88
|
||||||
|
"icon": new com.jformdesigner.model.SwingIcon( 0, "/com/formdev/flatlaf/testing/disabled_icons_test/intellij-showWriteAccess.png" )
|
||||||
|
"accelerator": static javax.swing.KeyStroke getKeyStroke( 74, 195, false )
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||||
|
name: "menuItem34"
|
||||||
|
"text": "longer text longer text"
|
||||||
|
"mnemonic": 69
|
||||||
|
"accelerator": static javax.swing.KeyStroke getKeyStroke( 115, 0, false )
|
||||||
} )
|
} )
|
||||||
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||||
name: "menuItem8"
|
name: "menuItem8"
|
||||||
"text": "text"
|
"text": "longer text longer text longer"
|
||||||
"mnemonic": 69
|
"mnemonic": 69
|
||||||
} )
|
} )
|
||||||
|
add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) {
|
||||||
|
name: "menu11"
|
||||||
|
"text": "sub menu"
|
||||||
|
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||||
|
name: "menuItem36"
|
||||||
|
"text": "text"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||||
|
name: "menuItem37"
|
||||||
|
"text": "text"
|
||||||
|
} )
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JPopupMenu$Separator" ) {
|
||||||
|
name: "separator3"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JCheckBoxMenuItem" ) {
|
||||||
|
name: "checkBoxMenuItem6"
|
||||||
|
"text": "check"
|
||||||
|
"selected": true
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JCheckBoxMenuItem" ) {
|
||||||
|
name: "checkBoxMenuItem7"
|
||||||
|
"text": "check with icon"
|
||||||
|
"selected": true
|
||||||
|
"icon": new com.jformdesigner.model.SwingIcon( 0, "/com/formdev/flatlaf/testing/disabled_icons_test/intellij-showReadAccess.png" )
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JPopupMenu$Separator" ) {
|
||||||
|
name: "separator5"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButtonMenuItem" ) {
|
||||||
|
name: "radioButtonMenuItem5"
|
||||||
|
"text": "radio 1"
|
||||||
|
"$buttonGroup": new FormReference( "buttonGroup1" )
|
||||||
|
"selected": true
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButtonMenuItem" ) {
|
||||||
|
name: "radioButtonMenuItem6"
|
||||||
|
"text": "radio 2"
|
||||||
|
"$buttonGroup": new FormReference( "buttonGroup1" )
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JPopupMenu$Separator" ) {
|
||||||
|
name: "separator4"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButtonMenuItem" ) {
|
||||||
|
name: "radioButtonMenuItem8"
|
||||||
|
"text": "radio with icon 1"
|
||||||
|
"selected": true
|
||||||
|
"$buttonGroup": new FormReference( "buttonGroup2" )
|
||||||
|
"icon": new com.jformdesigner.model.SwingIcon( 0, "/com/formdev/flatlaf/testing/disabled_icons_test/intellij-showReadAccess.png" )
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButtonMenuItem" ) {
|
||||||
|
name: "radioButtonMenuItem9"
|
||||||
|
"text": "radio with icon 2"
|
||||||
|
"$buttonGroup": new FormReference( "buttonGroup2" )
|
||||||
|
"icon": new com.jformdesigner.model.SwingIcon( 0, "/com/formdev/flatlaf/testing/disabled_icons_test/intellij-showWriteAccess.png" )
|
||||||
|
} )
|
||||||
} )
|
} )
|
||||||
add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) {
|
add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) {
|
||||||
name: "menu6"
|
name: "menu6"
|
||||||
@@ -48,7 +117,186 @@ new FormModel {
|
|||||||
} )
|
} )
|
||||||
} )
|
} )
|
||||||
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
"value": "cell 1 0 4 1,growx"
|
"value": "cell 1 0 2 1,growx"
|
||||||
|
} )
|
||||||
|
add( new FormContainer( "javax.swing.JMenuBar", new FormLayoutManager( class javax.swing.JMenuBar ) ) {
|
||||||
|
name: "menuBar2"
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) {
|
||||||
|
name: "menu8"
|
||||||
|
"text": "text position"
|
||||||
|
"icon": &SwingIcon0 new com.jformdesigner.model.SwingIcon( 0, "/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste.png" )
|
||||||
|
"horizontalTextPosition": 0
|
||||||
|
"verticalTextPosition": 3
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem13"
|
||||||
|
"text": "vert top"
|
||||||
|
"icon": &SwingIcon1 new com.jformdesigner.model.SwingIcon( 0, "/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png" )
|
||||||
|
"verticalTextPosition": 1
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem14"
|
||||||
|
"text": "vert bottom"
|
||||||
|
"icon": #SwingIcon1
|
||||||
|
"verticalTextPosition": 3
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem27"
|
||||||
|
"text": "horz leading"
|
||||||
|
"icon": &SwingIcon2 new com.jformdesigner.model.SwingIcon( 0, "/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png" )
|
||||||
|
"horizontalTextPosition": 10
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem15"
|
||||||
|
"text": "horz left"
|
||||||
|
"icon": #SwingIcon2
|
||||||
|
"horizontalTextPosition": 2
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem16"
|
||||||
|
"text": "horz right"
|
||||||
|
"icon": #SwingIcon2
|
||||||
|
"horizontalTextPosition": 4
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem28"
|
||||||
|
"text": "horz trailing"
|
||||||
|
"icon": #SwingIcon2
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem18"
|
||||||
|
"text": "horz center / vert top"
|
||||||
|
"icon": #SwingIcon2
|
||||||
|
"horizontalTextPosition": 0
|
||||||
|
"verticalTextPosition": 1
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem17"
|
||||||
|
"text": "horz center / vert bottom"
|
||||||
|
"icon": #SwingIcon2
|
||||||
|
"horizontalTextPosition": 0
|
||||||
|
"verticalTextPosition": 3
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem19"
|
||||||
|
"text": "horz center / vert center"
|
||||||
|
"icon": #SwingIcon2
|
||||||
|
"horizontalTextPosition": 0
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||||
|
name: "menuItem31"
|
||||||
|
"text": "1234567890123456789012345678901234567890"
|
||||||
|
} )
|
||||||
|
} )
|
||||||
|
add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) {
|
||||||
|
name: "menu9"
|
||||||
|
"text": "alignment"
|
||||||
|
"icon": #SwingIcon0
|
||||||
|
"horizontalTextPosition": 0
|
||||||
|
"verticalTextPosition": 1
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem20"
|
||||||
|
"text": "vert top"
|
||||||
|
"icon": #SwingIcon1
|
||||||
|
"verticalAlignment": 1
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem21"
|
||||||
|
"text": "vert bottom"
|
||||||
|
"icon": #SwingIcon1
|
||||||
|
"verticalAlignment": 3
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem29"
|
||||||
|
"text": "horz leading"
|
||||||
|
"icon": #SwingIcon2
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem22"
|
||||||
|
"text": "horz left"
|
||||||
|
"icon": #SwingIcon2
|
||||||
|
"horizontalAlignment": 2
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem23"
|
||||||
|
"text": "horz right"
|
||||||
|
"icon": #SwingIcon2
|
||||||
|
"horizontalAlignment": 4
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem30"
|
||||||
|
"text": "horz trailing"
|
||||||
|
"icon": #SwingIcon2
|
||||||
|
"horizontalAlignment": 11
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem25"
|
||||||
|
"text": "horz center / vert top"
|
||||||
|
"icon": #SwingIcon2
|
||||||
|
"horizontalAlignment": 0
|
||||||
|
"verticalAlignment": 1
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem24"
|
||||||
|
"text": "horz center / vert bottom"
|
||||||
|
"icon": #SwingIcon2
|
||||||
|
"horizontalAlignment": 0
|
||||||
|
"verticalAlignment": 3
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem26"
|
||||||
|
"text": "horz center / vert center"
|
||||||
|
"icon": #SwingIcon2
|
||||||
|
"horizontalAlignment": 0
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JMenuItem" ) {
|
||||||
|
name: "menuItem32"
|
||||||
|
"text": "1234567890123456789012345678901234567890"
|
||||||
|
} )
|
||||||
|
} )
|
||||||
|
add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) {
|
||||||
|
name: "menu10"
|
||||||
|
"icon": new com.jformdesigner.model.SwingIcon( 0, "/com/formdev/flatlaf/testing/disabled_icons_test/intellij-menu-paste@2x.png" )
|
||||||
|
"horizontalTextPosition": 0
|
||||||
|
"verticalTextPosition": 1
|
||||||
|
add( new FormComponent( "com.formdev.flatlaf.testing.FlatMenusTest$LargerMenuItem" ) {
|
||||||
|
name: "menuItem33"
|
||||||
|
"icon": #SwingIcon1
|
||||||
|
} )
|
||||||
|
} )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 3 0 2 1,growx"
|
||||||
|
} )
|
||||||
|
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
|
||||||
|
"$columnConstraints": "[]"
|
||||||
|
"$rowConstraints": "[]0[]"
|
||||||
|
"$layoutConstraints": "ltr,insets 0,hidemode 3"
|
||||||
|
} ) {
|
||||||
|
name: "panel5"
|
||||||
|
add( new FormComponent( "javax.swing.JCheckBox" ) {
|
||||||
|
name: "largerCheckBox"
|
||||||
|
"text": "larger"
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "largerChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 0 0"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JCheckBox" ) {
|
||||||
|
name: "accelCheckBox"
|
||||||
|
"text": "accel"
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "accelChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 0 1"
|
||||||
|
} )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 3 0 2 1"
|
||||||
} )
|
} )
|
||||||
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
|
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
|
||||||
"$columnConstraints": "[125,left][fill]"
|
"$columnConstraints": "[125,left][fill]"
|
||||||
@@ -92,7 +340,7 @@ new FormModel {
|
|||||||
} )
|
} )
|
||||||
add( new FormComponent( "javax.swing.JCheckBoxMenuItem" ) {
|
add( new FormComponent( "javax.swing.JCheckBoxMenuItem" ) {
|
||||||
name: "checkBoxMenuItem1"
|
name: "checkBoxMenuItem1"
|
||||||
"text": "enabled"
|
"text": "<html>en<b>abl</b>ed</html>"
|
||||||
"accelerator": &KeyStroke0 static javax.swing.KeyStroke getKeyStroke( 112, 0, false )
|
"accelerator": &KeyStroke0 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 ) {
|
||||||
@@ -280,6 +528,16 @@ new FormModel {
|
|||||||
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
"value": "cell 0 3"
|
"value": "cell 0 3"
|
||||||
} )
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JCheckBox" ) {
|
||||||
|
name: "underlineCheckBox"
|
||||||
|
"text": "underline menu selection"
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "underlineChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 0 4 2 1"
|
||||||
|
} )
|
||||||
}, new FormLayoutConstraints( null ) {
|
}, new FormLayoutConstraints( null ) {
|
||||||
"location": new java.awt.Point( 0, 0 )
|
"location": new java.awt.Point( 0, 0 )
|
||||||
"size": new java.awt.Dimension( 790, 380 )
|
"size": new java.awt.Dimension( 790, 380 )
|
||||||
@@ -321,5 +579,15 @@ new FormModel {
|
|||||||
}, new FormLayoutConstraints( null ) {
|
}, new FormLayoutConstraints( null ) {
|
||||||
"location": new java.awt.Point( 0, 430 )
|
"location": new java.awt.Point( 0, 430 )
|
||||||
} )
|
} )
|
||||||
|
add( new FormNonVisual( "javax.swing.ButtonGroup" ) {
|
||||||
|
name: "buttonGroup1"
|
||||||
|
}, new FormLayoutConstraints( null ) {
|
||||||
|
"location": new java.awt.Point( 0, 564 )
|
||||||
|
} )
|
||||||
|
add( new FormNonVisual( "javax.swing.ButtonGroup" ) {
|
||||||
|
name: "buttonGroup2"
|
||||||
|
}, new FormLayoutConstraints( null ) {
|
||||||
|
"location": new java.awt.Point( 0, 616 )
|
||||||
|
} )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -138,12 +138,13 @@ CheckBox.textShiftOffset 0
|
|||||||
#---- CheckBoxMenuItem ----
|
#---- CheckBoxMenuItem ----
|
||||||
|
|
||||||
CheckBoxMenuItem.acceleratorFont [active] $defaultFont [UI]
|
CheckBoxMenuItem.acceleratorFont [active] $defaultFont [UI]
|
||||||
CheckBoxMenuItem.acceleratorForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
CheckBoxMenuItem.acceleratorForeground #959595 javax.swing.plaf.ColorUIResource [UI]
|
||||||
CheckBoxMenuItem.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
CheckBoxMenuItem.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
||||||
CheckBoxMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
CheckBoxMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
||||||
CheckBoxMenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI]
|
CheckBoxMenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI]
|
||||||
CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
|
CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
|
||||||
CheckBoxMenuItem.borderPainted true
|
CheckBoxMenuItem.borderPainted true
|
||||||
|
CheckBoxMenuItem.checkBackground #55585c javax.swing.plaf.ColorUIResource [UI]
|
||||||
CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI]
|
CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI]
|
||||||
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]
|
||||||
@@ -206,6 +207,7 @@ Component.disabledBorderColor #646464 javax.swing.plaf.ColorUIResource [UI]
|
|||||||
Component.focusColor #3d6185 javax.swing.plaf.ColorUIResource [UI]
|
Component.focusColor #3d6185 javax.swing.plaf.ColorUIResource [UI]
|
||||||
Component.focusWidth 0
|
Component.focusWidth 0
|
||||||
Component.focusedBorderColor #466d94 javax.swing.plaf.ColorUIResource [UI]
|
Component.focusedBorderColor #466d94 javax.swing.plaf.ColorUIResource [UI]
|
||||||
|
Component.grayFilter [lazy] [unknown type] com.formdev.flatlaf.util.GrayFilter
|
||||||
Component.hideMnemonics true
|
Component.hideMnemonics true
|
||||||
Component.innerFocusWidth 0.5
|
Component.innerFocusWidth 0.5
|
||||||
Component.linkColor #589df6 javax.swing.plaf.ColorUIResource [UI]
|
Component.linkColor #589df6 javax.swing.plaf.ColorUIResource [UI]
|
||||||
@@ -461,7 +463,7 @@ ListUI com.formdev.flatlaf.ui.FlatListUI
|
|||||||
#---- Menu ----
|
#---- Menu ----
|
||||||
|
|
||||||
Menu.acceleratorFont [active] $defaultFont [UI]
|
Menu.acceleratorFont [active] $defaultFont [UI]
|
||||||
Menu.acceleratorForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
Menu.acceleratorForeground #959595 javax.swing.plaf.ColorUIResource [UI]
|
||||||
Menu.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
Menu.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
||||||
Menu.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuArrowIcon [UI]
|
Menu.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuArrowIcon [UI]
|
||||||
Menu.background #303234 javax.swing.plaf.ColorUIResource [UI]
|
Menu.background #303234 javax.swing.plaf.ColorUIResource [UI]
|
||||||
@@ -496,7 +498,7 @@ MenuBar.font [active] $defaultFont [UI]
|
|||||||
MenuBar.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
MenuBar.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuBar.highlight #242424 javax.swing.plaf.ColorUIResource [UI]
|
MenuBar.highlight #242424 javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuBar.hoverBackground #484c4f javax.swing.plaf.ColorUIResource [UI]
|
MenuBar.hoverBackground #484c4f javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuBar.itemMargins 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI]
|
MenuBar.itemMargins 3,8,3,8 javax.swing.plaf.InsetsUIResource [UI]
|
||||||
MenuBar.shadow #646464 javax.swing.plaf.ColorUIResource [UI]
|
MenuBar.shadow #646464 javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuBar.windowBindings length=2 [Ljava.lang.Object;
|
MenuBar.windowBindings length=2 [Ljava.lang.Object;
|
||||||
[0] F10
|
[0] F10
|
||||||
@@ -508,7 +510,7 @@ MenuBarUI com.formdev.flatlaf.ui.FlatMenuBarUI
|
|||||||
|
|
||||||
MenuItem.acceleratorDelimiter
|
MenuItem.acceleratorDelimiter
|
||||||
MenuItem.acceleratorFont [active] $defaultFont [UI]
|
MenuItem.acceleratorFont [active] $defaultFont [UI]
|
||||||
MenuItem.acceleratorForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
MenuItem.acceleratorForeground #959595 javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuItem.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
MenuItem.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
MenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
||||||
MenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI]
|
MenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI]
|
||||||
@@ -518,9 +520,16 @@ 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,8,2,8 javax.swing.plaf.InsetsUIResource [UI]
|
||||||
|
MenuItem.minimumIconSize 16,16 javax.swing.plaf.DimensionUIResource [UI]
|
||||||
|
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.textArrowGap 8
|
||||||
|
MenuItem.underlineSelectionBackground #484c4f javax.swing.plaf.ColorUIResource [UI]
|
||||||
|
MenuItem.underlineSelectionColor #4a88c7 javax.swing.plaf.ColorUIResource [UI]
|
||||||
|
MenuItem.underlineSelectionHeight 3
|
||||||
|
|
||||||
|
|
||||||
#---- MenuItemCheckBox ----
|
#---- MenuItemCheckBox ----
|
||||||
@@ -682,12 +691,13 @@ RadioButton.textShiftOffset 0
|
|||||||
#---- RadioButtonMenuItem ----
|
#---- RadioButtonMenuItem ----
|
||||||
|
|
||||||
RadioButtonMenuItem.acceleratorFont [active] $defaultFont [UI]
|
RadioButtonMenuItem.acceleratorFont [active] $defaultFont [UI]
|
||||||
RadioButtonMenuItem.acceleratorForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
RadioButtonMenuItem.acceleratorForeground #959595 javax.swing.plaf.ColorUIResource [UI]
|
||||||
RadioButtonMenuItem.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
RadioButtonMenuItem.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
||||||
RadioButtonMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
RadioButtonMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
||||||
RadioButtonMenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI]
|
RadioButtonMenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI]
|
||||||
RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
|
RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
|
||||||
RadioButtonMenuItem.borderPainted true
|
RadioButtonMenuItem.borderPainted true
|
||||||
|
RadioButtonMenuItem.checkBackground #55585c javax.swing.plaf.ColorUIResource [UI]
|
||||||
RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI]
|
RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI]
|
||||||
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]
|
||||||
|
|||||||
@@ -138,12 +138,13 @@ CheckBox.textShiftOffset 0
|
|||||||
#---- CheckBoxMenuItem ----
|
#---- CheckBoxMenuItem ----
|
||||||
|
|
||||||
CheckBoxMenuItem.acceleratorFont [active] $defaultFont [UI]
|
CheckBoxMenuItem.acceleratorFont [active] $defaultFont [UI]
|
||||||
CheckBoxMenuItem.acceleratorForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
CheckBoxMenuItem.acceleratorForeground #959595 javax.swing.plaf.ColorUIResource [UI]
|
||||||
CheckBoxMenuItem.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
CheckBoxMenuItem.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
||||||
CheckBoxMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
CheckBoxMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
||||||
CheckBoxMenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI]
|
CheckBoxMenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI]
|
||||||
CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
|
CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
|
||||||
CheckBoxMenuItem.borderPainted true
|
CheckBoxMenuItem.borderPainted true
|
||||||
|
CheckBoxMenuItem.checkBackground #55585c javax.swing.plaf.ColorUIResource [UI]
|
||||||
CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI]
|
CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI]
|
||||||
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]
|
||||||
@@ -205,6 +206,7 @@ Component.disabledBorderColor #646464 javax.swing.plaf.ColorUIResource [UI]
|
|||||||
Component.focusColor #3d6185 javax.swing.plaf.ColorUIResource [UI]
|
Component.focusColor #3d6185 javax.swing.plaf.ColorUIResource [UI]
|
||||||
Component.focusWidth 0
|
Component.focusWidth 0
|
||||||
Component.focusedBorderColor #466d94 javax.swing.plaf.ColorUIResource [UI]
|
Component.focusedBorderColor #466d94 javax.swing.plaf.ColorUIResource [UI]
|
||||||
|
Component.grayFilter [lazy] [unknown type] com.formdev.flatlaf.util.GrayFilter
|
||||||
Component.hideMnemonics true
|
Component.hideMnemonics true
|
||||||
Component.innerFocusWidth 0.5
|
Component.innerFocusWidth 0.5
|
||||||
Component.linkColor #589df6 javax.swing.plaf.ColorUIResource [UI]
|
Component.linkColor #589df6 javax.swing.plaf.ColorUIResource [UI]
|
||||||
@@ -460,7 +462,7 @@ ListUI com.formdev.flatlaf.ui.FlatListUI
|
|||||||
#---- Menu ----
|
#---- Menu ----
|
||||||
|
|
||||||
Menu.acceleratorFont [active] $defaultFont [UI]
|
Menu.acceleratorFont [active] $defaultFont [UI]
|
||||||
Menu.acceleratorForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
Menu.acceleratorForeground #959595 javax.swing.plaf.ColorUIResource [UI]
|
||||||
Menu.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
Menu.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
||||||
Menu.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuArrowIcon [UI]
|
Menu.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuArrowIcon [UI]
|
||||||
Menu.background #303234 javax.swing.plaf.ColorUIResource [UI]
|
Menu.background #303234 javax.swing.plaf.ColorUIResource [UI]
|
||||||
@@ -495,7 +497,7 @@ MenuBar.font [active] $defaultFont [UI]
|
|||||||
MenuBar.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
MenuBar.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuBar.highlight #242424 javax.swing.plaf.ColorUIResource [UI]
|
MenuBar.highlight #242424 javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuBar.hoverBackground #484c4f javax.swing.plaf.ColorUIResource [UI]
|
MenuBar.hoverBackground #484c4f javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuBar.itemMargins 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI]
|
MenuBar.itemMargins 3,8,3,8 javax.swing.plaf.InsetsUIResource [UI]
|
||||||
MenuBar.shadow #646464 javax.swing.plaf.ColorUIResource [UI]
|
MenuBar.shadow #646464 javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuBar.windowBindings length=2 [Ljava.lang.Object;
|
MenuBar.windowBindings length=2 [Ljava.lang.Object;
|
||||||
[0] F10
|
[0] F10
|
||||||
@@ -507,7 +509,7 @@ MenuBarUI com.formdev.flatlaf.ui.FlatMenuBarUI
|
|||||||
|
|
||||||
MenuItem.acceleratorDelimiter -
|
MenuItem.acceleratorDelimiter -
|
||||||
MenuItem.acceleratorFont [active] $defaultFont [UI]
|
MenuItem.acceleratorFont [active] $defaultFont [UI]
|
||||||
MenuItem.acceleratorForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
MenuItem.acceleratorForeground #959595 javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuItem.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
MenuItem.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
MenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
||||||
MenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI]
|
MenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI]
|
||||||
@@ -517,9 +519,16 @@ 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,8,2,8 javax.swing.plaf.InsetsUIResource [UI]
|
||||||
|
MenuItem.minimumIconSize 16,16 javax.swing.plaf.DimensionUIResource [UI]
|
||||||
|
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.textArrowGap 8
|
||||||
|
MenuItem.underlineSelectionBackground #484c4f javax.swing.plaf.ColorUIResource [UI]
|
||||||
|
MenuItem.underlineSelectionColor #4a88c7 javax.swing.plaf.ColorUIResource [UI]
|
||||||
|
MenuItem.underlineSelectionHeight 3
|
||||||
|
|
||||||
|
|
||||||
#---- MenuItemCheckBox ----
|
#---- MenuItemCheckBox ----
|
||||||
@@ -680,12 +689,13 @@ RadioButton.textShiftOffset 0
|
|||||||
#---- RadioButtonMenuItem ----
|
#---- RadioButtonMenuItem ----
|
||||||
|
|
||||||
RadioButtonMenuItem.acceleratorFont [active] $defaultFont [UI]
|
RadioButtonMenuItem.acceleratorFont [active] $defaultFont [UI]
|
||||||
RadioButtonMenuItem.acceleratorForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
RadioButtonMenuItem.acceleratorForeground #959595 javax.swing.plaf.ColorUIResource [UI]
|
||||||
RadioButtonMenuItem.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
RadioButtonMenuItem.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
|
||||||
RadioButtonMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
RadioButtonMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
||||||
RadioButtonMenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI]
|
RadioButtonMenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI]
|
||||||
RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
|
RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
|
||||||
RadioButtonMenuItem.borderPainted true
|
RadioButtonMenuItem.borderPainted true
|
||||||
|
RadioButtonMenuItem.checkBackground #55585c javax.swing.plaf.ColorUIResource [UI]
|
||||||
RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI]
|
RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI]
|
||||||
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]
|
||||||
|
|||||||
@@ -139,12 +139,13 @@ CheckBox.textShiftOffset 0
|
|||||||
#---- CheckBoxMenuItem ----
|
#---- CheckBoxMenuItem ----
|
||||||
|
|
||||||
CheckBoxMenuItem.acceleratorFont [active] $defaultFont [UI]
|
CheckBoxMenuItem.acceleratorFont [active] $defaultFont [UI]
|
||||||
CheckBoxMenuItem.acceleratorForeground #505050 javax.swing.plaf.ColorUIResource [UI]
|
CheckBoxMenuItem.acceleratorForeground #4d4d4d javax.swing.plaf.ColorUIResource [UI]
|
||||||
CheckBoxMenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
|
CheckBoxMenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
CheckBoxMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
CheckBoxMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
||||||
CheckBoxMenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI]
|
CheckBoxMenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
|
CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
|
||||||
CheckBoxMenuItem.borderPainted true
|
CheckBoxMenuItem.borderPainted true
|
||||||
|
CheckBoxMenuItem.checkBackground #d9d9d9 javax.swing.plaf.ColorUIResource [UI]
|
||||||
CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI]
|
CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI]
|
||||||
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]
|
||||||
@@ -207,6 +208,7 @@ Component.disabledBorderColor #cfcfcf javax.swing.plaf.ColorUIResource [UI]
|
|||||||
Component.focusColor #97c3f3 javax.swing.plaf.ColorUIResource [UI]
|
Component.focusColor #97c3f3 javax.swing.plaf.ColorUIResource [UI]
|
||||||
Component.focusWidth 0
|
Component.focusWidth 0
|
||||||
Component.focusedBorderColor #87afda javax.swing.plaf.ColorUIResource [UI]
|
Component.focusedBorderColor #87afda javax.swing.plaf.ColorUIResource [UI]
|
||||||
|
Component.grayFilter [lazy] [unknown type] com.formdev.flatlaf.util.GrayFilter
|
||||||
Component.hideMnemonics true
|
Component.hideMnemonics true
|
||||||
Component.innerFocusWidth 0.5
|
Component.innerFocusWidth 0.5
|
||||||
Component.linkColor #2470b3 javax.swing.plaf.ColorUIResource [UI]
|
Component.linkColor #2470b3 javax.swing.plaf.ColorUIResource [UI]
|
||||||
@@ -463,7 +465,7 @@ ListUI com.formdev.flatlaf.ui.FlatListUI
|
|||||||
#---- Menu ----
|
#---- Menu ----
|
||||||
|
|
||||||
Menu.acceleratorFont [active] $defaultFont [UI]
|
Menu.acceleratorFont [active] $defaultFont [UI]
|
||||||
Menu.acceleratorForeground #505050 javax.swing.plaf.ColorUIResource [UI]
|
Menu.acceleratorForeground #4d4d4d javax.swing.plaf.ColorUIResource [UI]
|
||||||
Menu.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
|
Menu.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
Menu.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuArrowIcon [UI]
|
Menu.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuArrowIcon [UI]
|
||||||
Menu.background #ffffff javax.swing.plaf.ColorUIResource [UI]
|
Menu.background #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
@@ -498,7 +500,7 @@ MenuBar.font [active] $defaultFont [UI]
|
|||||||
MenuBar.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
|
MenuBar.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuBar.highlight #ffffff javax.swing.plaf.ColorUIResource [UI]
|
MenuBar.highlight #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuBar.hoverBackground #e6e6e6 javax.swing.plaf.ColorUIResource [UI]
|
MenuBar.hoverBackground #e6e6e6 javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuBar.itemMargins 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI]
|
MenuBar.itemMargins 3,8,3,8 javax.swing.plaf.InsetsUIResource [UI]
|
||||||
MenuBar.shadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI]
|
MenuBar.shadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuBar.windowBindings length=2 [Ljava.lang.Object;
|
MenuBar.windowBindings length=2 [Ljava.lang.Object;
|
||||||
[0] F10
|
[0] F10
|
||||||
@@ -510,7 +512,7 @@ MenuBarUI com.formdev.flatlaf.ui.FlatMenuBarUI
|
|||||||
|
|
||||||
MenuItem.acceleratorDelimiter
|
MenuItem.acceleratorDelimiter
|
||||||
MenuItem.acceleratorFont [active] $defaultFont [UI]
|
MenuItem.acceleratorFont [active] $defaultFont [UI]
|
||||||
MenuItem.acceleratorForeground #505050 javax.swing.plaf.ColorUIResource [UI]
|
MenuItem.acceleratorForeground #4d4d4d javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
|
MenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
MenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
||||||
MenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI]
|
MenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
@@ -520,9 +522,16 @@ 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,8,2,8 javax.swing.plaf.InsetsUIResource [UI]
|
||||||
|
MenuItem.minimumIconSize 16,16 javax.swing.plaf.DimensionUIResource [UI]
|
||||||
|
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.textArrowGap 8
|
||||||
|
MenuItem.underlineSelectionBackground #e6e6e6 javax.swing.plaf.ColorUIResource [UI]
|
||||||
|
MenuItem.underlineSelectionColor #4083c9 javax.swing.plaf.ColorUIResource [UI]
|
||||||
|
MenuItem.underlineSelectionHeight 3
|
||||||
|
|
||||||
|
|
||||||
#---- MenuItemCheckBox ----
|
#---- MenuItemCheckBox ----
|
||||||
@@ -684,12 +693,13 @@ RadioButton.textShiftOffset 0
|
|||||||
#---- RadioButtonMenuItem ----
|
#---- RadioButtonMenuItem ----
|
||||||
|
|
||||||
RadioButtonMenuItem.acceleratorFont [active] $defaultFont [UI]
|
RadioButtonMenuItem.acceleratorFont [active] $defaultFont [UI]
|
||||||
RadioButtonMenuItem.acceleratorForeground #505050 javax.swing.plaf.ColorUIResource [UI]
|
RadioButtonMenuItem.acceleratorForeground #4d4d4d javax.swing.plaf.ColorUIResource [UI]
|
||||||
RadioButtonMenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
|
RadioButtonMenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
RadioButtonMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
RadioButtonMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
||||||
RadioButtonMenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI]
|
RadioButtonMenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
|
RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
|
||||||
RadioButtonMenuItem.borderPainted true
|
RadioButtonMenuItem.borderPainted true
|
||||||
|
RadioButtonMenuItem.checkBackground #d9d9d9 javax.swing.plaf.ColorUIResource [UI]
|
||||||
RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI]
|
RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI]
|
||||||
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]
|
||||||
|
|||||||
@@ -139,12 +139,13 @@ CheckBox.textShiftOffset 0
|
|||||||
#---- CheckBoxMenuItem ----
|
#---- CheckBoxMenuItem ----
|
||||||
|
|
||||||
CheckBoxMenuItem.acceleratorFont [active] $defaultFont [UI]
|
CheckBoxMenuItem.acceleratorFont [active] $defaultFont [UI]
|
||||||
CheckBoxMenuItem.acceleratorForeground #505050 javax.swing.plaf.ColorUIResource [UI]
|
CheckBoxMenuItem.acceleratorForeground #4d4d4d javax.swing.plaf.ColorUIResource [UI]
|
||||||
CheckBoxMenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
|
CheckBoxMenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
CheckBoxMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
CheckBoxMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
||||||
CheckBoxMenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI]
|
CheckBoxMenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
|
CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
|
||||||
CheckBoxMenuItem.borderPainted true
|
CheckBoxMenuItem.borderPainted true
|
||||||
|
CheckBoxMenuItem.checkBackground #d9d9d9 javax.swing.plaf.ColorUIResource [UI]
|
||||||
CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI]
|
CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI]
|
||||||
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]
|
||||||
@@ -206,6 +207,7 @@ Component.disabledBorderColor #cfcfcf javax.swing.plaf.ColorUIResource [UI]
|
|||||||
Component.focusColor #97c3f3 javax.swing.plaf.ColorUIResource [UI]
|
Component.focusColor #97c3f3 javax.swing.plaf.ColorUIResource [UI]
|
||||||
Component.focusWidth 0
|
Component.focusWidth 0
|
||||||
Component.focusedBorderColor #87afda javax.swing.plaf.ColorUIResource [UI]
|
Component.focusedBorderColor #87afda javax.swing.plaf.ColorUIResource [UI]
|
||||||
|
Component.grayFilter [lazy] [unknown type] com.formdev.flatlaf.util.GrayFilter
|
||||||
Component.hideMnemonics true
|
Component.hideMnemonics true
|
||||||
Component.innerFocusWidth 0.5
|
Component.innerFocusWidth 0.5
|
||||||
Component.linkColor #2470b3 javax.swing.plaf.ColorUIResource [UI]
|
Component.linkColor #2470b3 javax.swing.plaf.ColorUIResource [UI]
|
||||||
@@ -462,7 +464,7 @@ ListUI com.formdev.flatlaf.ui.FlatListUI
|
|||||||
#---- Menu ----
|
#---- Menu ----
|
||||||
|
|
||||||
Menu.acceleratorFont [active] $defaultFont [UI]
|
Menu.acceleratorFont [active] $defaultFont [UI]
|
||||||
Menu.acceleratorForeground #505050 javax.swing.plaf.ColorUIResource [UI]
|
Menu.acceleratorForeground #4d4d4d javax.swing.plaf.ColorUIResource [UI]
|
||||||
Menu.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
|
Menu.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
Menu.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuArrowIcon [UI]
|
Menu.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuArrowIcon [UI]
|
||||||
Menu.background #ffffff javax.swing.plaf.ColorUIResource [UI]
|
Menu.background #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
@@ -497,7 +499,7 @@ MenuBar.font [active] $defaultFont [UI]
|
|||||||
MenuBar.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
|
MenuBar.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuBar.highlight #ffffff javax.swing.plaf.ColorUIResource [UI]
|
MenuBar.highlight #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuBar.hoverBackground #e6e6e6 javax.swing.plaf.ColorUIResource [UI]
|
MenuBar.hoverBackground #e6e6e6 javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuBar.itemMargins 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI]
|
MenuBar.itemMargins 3,8,3,8 javax.swing.plaf.InsetsUIResource [UI]
|
||||||
MenuBar.shadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI]
|
MenuBar.shadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuBar.windowBindings length=2 [Ljava.lang.Object;
|
MenuBar.windowBindings length=2 [Ljava.lang.Object;
|
||||||
[0] F10
|
[0] F10
|
||||||
@@ -509,7 +511,7 @@ MenuBarUI com.formdev.flatlaf.ui.FlatMenuBarUI
|
|||||||
|
|
||||||
MenuItem.acceleratorDelimiter -
|
MenuItem.acceleratorDelimiter -
|
||||||
MenuItem.acceleratorFont [active] $defaultFont [UI]
|
MenuItem.acceleratorFont [active] $defaultFont [UI]
|
||||||
MenuItem.acceleratorForeground #505050 javax.swing.plaf.ColorUIResource [UI]
|
MenuItem.acceleratorForeground #4d4d4d javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
|
MenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
MenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
MenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
||||||
MenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI]
|
MenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
@@ -519,9 +521,16 @@ 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,8,2,8 javax.swing.plaf.InsetsUIResource [UI]
|
||||||
|
MenuItem.minimumIconSize 16,16 javax.swing.plaf.DimensionUIResource [UI]
|
||||||
|
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.textArrowGap 8
|
||||||
|
MenuItem.underlineSelectionBackground #e6e6e6 javax.swing.plaf.ColorUIResource [UI]
|
||||||
|
MenuItem.underlineSelectionColor #4083c9 javax.swing.plaf.ColorUIResource [UI]
|
||||||
|
MenuItem.underlineSelectionHeight 3
|
||||||
|
|
||||||
|
|
||||||
#---- MenuItemCheckBox ----
|
#---- MenuItemCheckBox ----
|
||||||
@@ -682,12 +691,13 @@ RadioButton.textShiftOffset 0
|
|||||||
#---- RadioButtonMenuItem ----
|
#---- RadioButtonMenuItem ----
|
||||||
|
|
||||||
RadioButtonMenuItem.acceleratorFont [active] $defaultFont [UI]
|
RadioButtonMenuItem.acceleratorFont [active] $defaultFont [UI]
|
||||||
RadioButtonMenuItem.acceleratorForeground #505050 javax.swing.plaf.ColorUIResource [UI]
|
RadioButtonMenuItem.acceleratorForeground #4d4d4d javax.swing.plaf.ColorUIResource [UI]
|
||||||
RadioButtonMenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
|
RadioButtonMenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
RadioButtonMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
RadioButtonMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI]
|
||||||
RadioButtonMenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI]
|
RadioButtonMenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI]
|
||||||
RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
|
RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI]
|
||||||
RadioButtonMenuItem.borderPainted true
|
RadioButtonMenuItem.borderPainted true
|
||||||
|
RadioButtonMenuItem.checkBackground #d9d9d9 javax.swing.plaf.ColorUIResource [UI]
|
||||||
RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI]
|
RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI]
|
||||||
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]
|
||||||
|
|||||||
Reference in New Issue
Block a user