public class MenuItemRenderer
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
private static class |
MenuItemRenderer.NullIcon
Used as a placeholder if icons are disabled.
|
| Modifier and Type | Field and Description |
|---|---|
private java.lang.String |
acceleratorDelimiter |
private java.awt.Font |
acceleratorFont |
private java.awt.Color |
acceleratorForeground |
(package private) static java.awt.Rectangle |
acceleratorRect |
private java.awt.Color |
acceleratorSelectionForeground |
(package private) static java.awt.Rectangle |
arrowIconRect |
(package private) static java.awt.Rectangle |
checkIconRect |
private java.awt.Color |
disabledForeground |
private javax.swing.Icon |
fillerIcon |
protected static java.lang.String |
HTML_KEY |
private boolean |
iconBorderEnabled |
(package private) static java.awt.Rectangle |
iconRect |
(package private) static java.lang.String |
MAX_ACC_WIDTH |
(package private) static java.lang.String |
MAX_TEXT_WIDTH |
private javax.swing.JMenuItem |
menuItem |
private static javax.swing.Icon |
NO_ICON |
(package private) static java.awt.Rectangle |
r |
private java.awt.Color |
selectionForeground |
(package private) static java.awt.Rectangle |
textRect |
(package private) static java.awt.Rectangle |
viewRect |
(package private) static java.awt.Rectangle |
zeroRect |
| Constructor and Description |
|---|
MenuItemRenderer(javax.swing.JMenuItem menuItem,
boolean iconBorderEnabled,
java.awt.Font acceleratorFont,
java.awt.Color selectionForeground,
java.awt.Color disabledForeground,
java.awt.Color acceleratorForeground,
java.awt.Color acceleratorSelectionForeground)
Constructs a MenuItemRenderer for the specified menu item and settings.
|
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
disabledTextHasShadow() |
private static javax.swing.Icon |
getIcon(javax.swing.JMenuItem aMenuItem,
javax.swing.Icon defaultIcon)
Looks up and answers the appropriate menu item icon.
|
java.awt.Dimension |
getPreferredMenuItemSize(javax.swing.JComponent c,
javax.swing.Icon checkIcon,
javax.swing.Icon arrowIcon,
int defaultTextIconGap) |
private javax.swing.Icon |
getWrappedIcon(javax.swing.Icon icon)
Answers the wrapped icon.
|
private boolean |
hasCustomIcon()
Checks and answers if the menu item has a custom icon.
|
private boolean |
hideIcons()
Checks and answers if the parent menu indicates that we should use no icons.
|
private static boolean |
isLeftToRight(java.awt.Component c) |
protected boolean |
isMnemonicHidden() |
private java.lang.String |
layoutMenuItem(java.awt.FontMetrics fm,
java.lang.String text,
java.awt.FontMetrics fmAccel,
java.lang.String acceleratorText,
javax.swing.Icon icon,
javax.swing.Icon checkIcon,
javax.swing.Icon arrowIcon,
int verticalAlignment,
int horizontalAlignment,
int verticalTextPosition,
int horizontalTextPosition,
java.awt.Rectangle viewRectangle,
java.awt.Rectangle iconRectangle,
java.awt.Rectangle textRectangle,
java.awt.Rectangle acceleratorRectangle,
java.awt.Rectangle checkIconRectangle,
java.awt.Rectangle arrowIconRectangle,
int textIconGap,
int menuItemGap)
Compute and return the location of the icons origin, the
location of origin of the text baseline, and a possibly clipped
version of the compound labels string.
|
private static void |
paintBackground(java.awt.Graphics g,
javax.swing.JMenuItem aMenuItem,
java.awt.Color bgColor)
Draws the background of the menu item.
|
void |
paintMenuItem(java.awt.Graphics g,
javax.swing.JComponent c,
javax.swing.Icon checkIcon,
javax.swing.Icon arrowIcon,
java.awt.Color background,
java.awt.Color foreground,
int defaultTextIconGap) |
private void |
paintText(java.awt.Graphics g,
javax.swing.JMenuItem aMenuItem,
java.awt.Rectangle textRectangle,
java.lang.String text)
Renders the text of the current menu item.
|
private static void |
resetRects() |
private boolean |
useCheckAndArrow() |
protected static final java.lang.String HTML_KEY
static final java.lang.String MAX_TEXT_WIDTH
static final java.lang.String MAX_ACC_WIDTH
private static final javax.swing.Icon NO_ICON
static java.awt.Rectangle zeroRect
static java.awt.Rectangle iconRect
static java.awt.Rectangle textRect
static java.awt.Rectangle acceleratorRect
static java.awt.Rectangle checkIconRect
static java.awt.Rectangle arrowIconRect
static java.awt.Rectangle viewRect
static java.awt.Rectangle r
private final javax.swing.JMenuItem menuItem
private final boolean iconBorderEnabled
private final java.awt.Font acceleratorFont
private final java.awt.Color selectionForeground
private final java.awt.Color disabledForeground
private final java.awt.Color acceleratorForeground
private final java.awt.Color acceleratorSelectionForeground
private final java.lang.String acceleratorDelimiter
private final javax.swing.Icon fillerIcon
public MenuItemRenderer(javax.swing.JMenuItem menuItem,
boolean iconBorderEnabled,
java.awt.Font acceleratorFont,
java.awt.Color selectionForeground,
java.awt.Color disabledForeground,
java.awt.Color acceleratorForeground,
java.awt.Color acceleratorSelectionForeground)
private static javax.swing.Icon getIcon(javax.swing.JMenuItem aMenuItem,
javax.swing.Icon defaultIcon)
private boolean hasCustomIcon()
private javax.swing.Icon getWrappedIcon(javax.swing.Icon icon)
private static void resetRects()
public java.awt.Dimension getPreferredMenuItemSize(javax.swing.JComponent c,
javax.swing.Icon checkIcon,
javax.swing.Icon arrowIcon,
int defaultTextIconGap)
public void paintMenuItem(java.awt.Graphics g,
javax.swing.JComponent c,
javax.swing.Icon checkIcon,
javax.swing.Icon arrowIcon,
java.awt.Color background,
java.awt.Color foreground,
int defaultTextIconGap)
private java.lang.String layoutMenuItem(java.awt.FontMetrics fm,
java.lang.String text,
java.awt.FontMetrics fmAccel,
java.lang.String acceleratorText,
javax.swing.Icon icon,
javax.swing.Icon checkIcon,
javax.swing.Icon arrowIcon,
int verticalAlignment,
int horizontalAlignment,
int verticalTextPosition,
int horizontalTextPosition,
java.awt.Rectangle viewRectangle,
java.awt.Rectangle iconRectangle,
java.awt.Rectangle textRectangle,
java.awt.Rectangle acceleratorRectangle,
java.awt.Rectangle checkIconRectangle,
java.awt.Rectangle arrowIconRectangle,
int textIconGap,
int menuItemGap)
private boolean useCheckAndArrow()
private static boolean isLeftToRight(java.awt.Component c)
private static void paintBackground(java.awt.Graphics g,
javax.swing.JMenuItem aMenuItem,
java.awt.Color bgColor)
g - the paint graphicsaMenuItem - menu item to be paintedbgColor - selection background colorprivate void paintText(java.awt.Graphics g,
javax.swing.JMenuItem aMenuItem,
java.awt.Rectangle textRectangle,
java.lang.String text)
g - graphics contextaMenuItem - menu item to rendertextRectangle - bounding rectangle for rendering the texttext - string to renderprotected boolean isMnemonicHidden()
protected boolean disabledTextHasShadow()
private boolean hideIcons()