Package com.formdev.flatlaf.ui
Class FlatMenuItemRenderer
- java.lang.Object
-
- com.formdev.flatlaf.ui.FlatMenuItemRenderer
-
- Direct Known Subclasses:
FlatMenuUI.FlatMenuRenderer
public class FlatMenuItemRenderer extends java.lang.Object
Renderer for menu items.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
FlatMenuItemRenderer.GraphicsProxyWithTextColor
private class
FlatMenuItemRenderer.MinSizeIcon
-
Field Summary
Fields Modifier and Type Field Description protected int
acceleratorArrowGap
protected java.lang.String
acceleratorDelimiter
protected java.awt.Font
acceleratorFont
protected javax.swing.Icon
arrowIcon
private javax.swing.KeyStroke
cachedAccelerator
private boolean
cachedAcceleratorLeftToRight
private java.lang.String
cachedAcceleratorText
protected java.awt.Color
checkBackground
protected javax.swing.Icon
checkIcon
protected java.awt.Insets
checkMargins
private static char
commandGlyph
private static char
controlGlyph
private boolean
iconsShared
private static java.lang.String
KEY_MAX_ICONS_WIDTH
private java.awt.Font
menuFont
protected javax.swing.JMenuItem
menuItem
protected java.awt.Dimension
minimumIconSize
protected int
minimumWidth
private static char
optionGlyph
protected int
selectionArc
protected java.awt.Insets
selectionInsets
private static char
shiftGlyph
protected int
textAcceleratorGap
protected int
textNoAcceleratorGap
protected java.awt.Color
underlineSelectionBackground
protected java.awt.Color
underlineSelectionCheckBackground
protected java.awt.Color
underlineSelectionColor
protected int
underlineSelectionHeight
protected boolean
verticallyAlignText
-
Constructor Summary
Constructors Modifier Constructor Description protected
FlatMenuItemRenderer(javax.swing.JMenuItem menuItem, javax.swing.Icon checkIcon, javax.swing.Icon arrowIcon, java.awt.Font acceleratorFont, java.lang.String acceleratorDelimiter)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.Object
applyStyleProperty(java.lang.String key, java.lang.Object value)
private static int
centerOffset(int wh1, int wh2)
(package private) static void
clearClientProperties(java.awt.Component c)
protected java.awt.Color
deriveBackground(java.awt.Color background)
private java.lang.String
getAcceleratorText()
private javax.swing.Icon
getIconForLayout()
private javax.swing.Icon
getIconForPainting()
protected java.lang.String
getMacOSModifiersExText(int modifiers, boolean leftToRight)
private int
getMaxIconsWidth()
Calculates the maximum width of all menu item icons in the popup.protected java.awt.Dimension
getPreferredMenuItemSize()
java.util.Map<java.lang.String,java.lang.Class<?>>
getStyleableInfos()
java.lang.Object
getStyleableValue(java.lang.String key)
protected java.lang.String
getTextForAccelerator(javax.swing.KeyStroke accelerator)
private java.awt.Font
getTopLevelFont()
protected static boolean
isArmedOrSelected(javax.swing.JMenuItem menuItem)
Returnstrue
if either the menu item is armed (mouse over item) or it is aJMenu
and selected (shows submenu).static boolean
isInVerticalMenuBar(javax.swing.JMenuItem menuItem)
protected static boolean
isTopLevelMenu(javax.swing.JMenuItem menuItem)
protected boolean
isUnderlineSelection()
private void
layout(java.awt.Rectangle viewRect, java.awt.Rectangle iconRect, java.awt.Rectangle textRect, java.awt.Rectangle accelRect, java.awt.Rectangle arrowRect, java.awt.Rectangle labelRect)
protected void
paintAccelerator(java.awt.Graphics g, java.awt.Rectangle accelRect, java.lang.String accelText, java.awt.Color foreground, java.awt.Color selectionForeground, java.awt.Color disabledForeground)
protected void
paintArrowIcon(java.awt.Graphics g, java.awt.Rectangle arrowRect, javax.swing.Icon arrowIcon)
protected void
paintBackground(java.awt.Graphics g)
protected static void
paintHTMLText(java.awt.Graphics g, javax.swing.JMenuItem menuItem, java.awt.Rectangle textRect, javax.swing.text.View htmlView, java.awt.Color selectionForeground)
protected void
paintIcon(java.awt.Graphics g, java.awt.Rectangle iconRect, javax.swing.Icon icon, java.awt.Color checkBackground, java.awt.Color selectionBackground)
protected static void
paintIcon(java.awt.Graphics g, javax.swing.JMenuItem menuItem, javax.swing.Icon icon, java.awt.Rectangle iconRect)
protected void
paintMenuItem(java.awt.Graphics g, java.awt.Color selectionBackground, java.awt.Color selectionForeground, java.awt.Color disabledForeground, java.awt.Color acceleratorForeground, java.awt.Color acceleratorSelectionForeground)
protected void
paintSelection(java.awt.Graphics g, java.awt.Color selectionBackground, java.awt.Insets selectionInsets, int selectionArc)
protected void
paintText(java.awt.Graphics g, java.awt.Rectangle textRect, java.lang.String text, java.awt.Color selectionForeground, java.awt.Color disabledForeground)
protected static void
paintText(java.awt.Graphics g, javax.swing.JMenuItem menuItem, java.awt.Rectangle textRect, java.lang.String text, int mnemonicIndex, java.awt.Font font, java.awt.Color foreground, java.awt.Color selectionForeground, java.awt.Color disabledForeground)
protected void
paintUnderlineSelection(java.awt.Graphics g, java.awt.Color underlineSelectionBackground, java.awt.Color underlineSelectionColor, int underlineSelectionHeight)
-
-
-
Field Detail
-
KEY_MAX_ICONS_WIDTH
private static final java.lang.String KEY_MAX_ICONS_WIDTH
- See Also:
- Constant Field Values
-
menuItem
protected final javax.swing.JMenuItem menuItem
-
checkIcon
protected javax.swing.Icon checkIcon
-
arrowIcon
protected javax.swing.Icon arrowIcon
-
acceleratorFont
protected java.awt.Font acceleratorFont
-
acceleratorDelimiter
protected final java.lang.String acceleratorDelimiter
-
verticallyAlignText
protected boolean verticallyAlignText
- Since:
- 2
-
minimumWidth
protected int minimumWidth
-
minimumIconSize
protected java.awt.Dimension minimumIconSize
-
textAcceleratorGap
protected int textAcceleratorGap
-
textNoAcceleratorGap
protected int textNoAcceleratorGap
-
acceleratorArrowGap
protected int acceleratorArrowGap
-
checkBackground
protected java.awt.Color checkBackground
-
checkMargins
protected java.awt.Insets checkMargins
-
selectionInsets
protected java.awt.Insets selectionInsets
- Since:
- 3
-
selectionArc
protected int selectionArc
- Since:
- 3
-
underlineSelectionBackground
protected java.awt.Color underlineSelectionBackground
-
underlineSelectionCheckBackground
protected java.awt.Color underlineSelectionCheckBackground
-
underlineSelectionColor
protected java.awt.Color underlineSelectionColor
-
underlineSelectionHeight
protected int underlineSelectionHeight
-
iconsShared
private boolean iconsShared
-
menuFont
private final java.awt.Font menuFont
-
cachedAccelerator
private javax.swing.KeyStroke cachedAccelerator
-
cachedAcceleratorText
private java.lang.String cachedAcceleratorText
-
cachedAcceleratorLeftToRight
private boolean cachedAcceleratorLeftToRight
-
controlGlyph
private static final char controlGlyph
- See Also:
- Constant Field Values
-
optionGlyph
private static final char optionGlyph
- See Also:
- Constant Field Values
-
shiftGlyph
private static final char shiftGlyph
- See Also:
- Constant Field Values
-
commandGlyph
private static final char commandGlyph
- See Also:
- Constant Field Values
-
-
Method Detail
-
applyStyleProperty
protected java.lang.Object applyStyleProperty(java.lang.String key, java.lang.Object value)
- Since:
- 2
-
getStyleableInfos
public java.util.Map<java.lang.String,java.lang.Class<?>> getStyleableInfos()
- Since:
- 2
-
getStyleableValue
public java.lang.Object getStyleableValue(java.lang.String key)
- Since:
- 2.5
-
getPreferredMenuItemSize
protected java.awt.Dimension getPreferredMenuItemSize()
-
layout
private void layout(java.awt.Rectangle viewRect, java.awt.Rectangle iconRect, java.awt.Rectangle textRect, java.awt.Rectangle accelRect, java.awt.Rectangle arrowRect, java.awt.Rectangle labelRect)
-
centerOffset
private static int centerOffset(int wh1, int wh2)
-
paintMenuItem
protected void paintMenuItem(java.awt.Graphics g, java.awt.Color selectionBackground, java.awt.Color selectionForeground, java.awt.Color disabledForeground, java.awt.Color acceleratorForeground, java.awt.Color acceleratorSelectionForeground)
-
paintBackground
protected void paintBackground(java.awt.Graphics g)
- Since:
- 3
-
paintSelection
protected void paintSelection(java.awt.Graphics g, java.awt.Color selectionBackground, java.awt.Insets selectionInsets, int selectionArc)
- Since:
- 3
-
paintUnderlineSelection
protected void paintUnderlineSelection(java.awt.Graphics g, java.awt.Color underlineSelectionBackground, java.awt.Color underlineSelectionColor, int underlineSelectionHeight)
- Since:
- 3
-
deriveBackground
protected java.awt.Color deriveBackground(java.awt.Color background)
-
paintIcon
protected void paintIcon(java.awt.Graphics g, java.awt.Rectangle iconRect, javax.swing.Icon icon, java.awt.Color checkBackground, java.awt.Color selectionBackground)
-
paintText
protected void paintText(java.awt.Graphics g, java.awt.Rectangle textRect, java.lang.String text, java.awt.Color selectionForeground, java.awt.Color disabledForeground)
-
paintAccelerator
protected void paintAccelerator(java.awt.Graphics g, java.awt.Rectangle accelRect, java.lang.String accelText, java.awt.Color foreground, java.awt.Color selectionForeground, java.awt.Color disabledForeground)
-
paintArrowIcon
protected void paintArrowIcon(java.awt.Graphics g, java.awt.Rectangle arrowRect, javax.swing.Icon arrowIcon)
-
paintIcon
protected static void paintIcon(java.awt.Graphics g, javax.swing.JMenuItem menuItem, javax.swing.Icon icon, java.awt.Rectangle iconRect)
-
paintText
protected static void paintText(java.awt.Graphics g, javax.swing.JMenuItem menuItem, java.awt.Rectangle textRect, java.lang.String text, int mnemonicIndex, java.awt.Font font, java.awt.Color foreground, java.awt.Color selectionForeground, java.awt.Color disabledForeground)
-
paintHTMLText
protected static void paintHTMLText(java.awt.Graphics g, javax.swing.JMenuItem menuItem, java.awt.Rectangle textRect, javax.swing.text.View htmlView, java.awt.Color selectionForeground)
-
isArmedOrSelected
protected static boolean isArmedOrSelected(javax.swing.JMenuItem menuItem)
Returnstrue
if either the menu item is armed (mouse over item) or it is aJMenu
and selected (shows submenu).
-
isTopLevelMenu
protected static boolean isTopLevelMenu(javax.swing.JMenuItem menuItem)
-
isInVerticalMenuBar
public static boolean isInVerticalMenuBar(javax.swing.JMenuItem menuItem)
- Since:
- 3.5
-
isUnderlineSelection
protected boolean isUnderlineSelection()
-
getTopLevelFont
private java.awt.Font getTopLevelFont()
-
getIconForPainting
private javax.swing.Icon getIconForPainting()
-
getIconForLayout
private javax.swing.Icon getIconForLayout()
-
getAcceleratorText
private java.lang.String getAcceleratorText()
-
getTextForAccelerator
protected java.lang.String getTextForAccelerator(javax.swing.KeyStroke accelerator)
-
getMacOSModifiersExText
protected java.lang.String getMacOSModifiersExText(int modifiers, boolean leftToRight)
-
getMaxIconsWidth
private int getMaxIconsWidth()
Calculates the maximum width of all menu item icons in the popup.
-
clearClientProperties
static void clearClientProperties(java.awt.Component c)
-
-