java.lang.Object javax.swing.plaf.ComponentUI javax.swing.plaf.ButtonUI javax.swing.plaf.MenuItemUI javax.swing.plaf.basic.BasicMenuItemUI
public class BasicMenuItemUI
BasicMenuItem 实现
嵌套类摘要 | |
---|---|
protected class |
BasicMenuItemUI.MouseInputHandler |
字段摘要 | |
---|---|
protected Font |
acceleratorFont |
protected Color |
acceleratorForeground |
protected Color |
acceleratorSelectionForeground |
protected Icon |
arrowIcon |
protected Icon |
checkIcon |
protected int |
defaultTextIconGap |
protected Color |
disabledForeground |
protected MenuDragMouseListener |
menuDragMouseListener |
protected JMenuItem |
menuItem |
protected MenuKeyListener |
menuKeyListener |
protected MouseInputListener |
mouseInputListener |
protected boolean |
oldBorderPainted |
protected PropertyChangeListener |
propertyChangeListener 从 createPropertyChangeListener 返回的 PropertyChangeListener 。 |
protected Color |
selectionBackground |
protected Color |
selectionForeground |
构造方法摘要 | |
---|---|
BasicMenuItemUI() |
方法摘要 | |
---|---|
protected MenuDragMouseListener |
createMenuDragMouseListener(JComponent c) |
protected MenuKeyListener |
createMenuKeyListener(JComponent c) |
protected MouseInputListener |
createMouseInputListener(JComponent c) |
protected PropertyChangeListener |
createPropertyChangeListener(JComponent c) 创建一个将被添加到菜单项的 PropertyChangeListener 。 |
static ComponentUI |
createUI(JComponent c) |
protected void |
doClick(MenuSelectionManager msm) 要激活菜单项时调用此方法。 |
Dimension |
getMaximumSize(JComponent c) 返回指定组件的适合外观的最大大小。 |
Dimension |
getMinimumSize(JComponent c) 返回指定组件的适合外观的最小大小。 |
MenuElement[] |
getPath() |
protected Dimension |
getPreferredMenuItemSize(JComponent c, Icon checkIcon, Icon arrowIcon, int defaultTextIconGap) |
Dimension |
getPreferredSize(JComponent c) 返回指定组件的适合外观的首选大小。 |
protected String |
getPropertyPrefix() |
protected void |
installComponents(JMenuItem menuItem) |
protected void |
installDefaults() |
protected void |
installKeyboardActions() |
protected void |
installListeners() |
void |
installUI(JComponent c) 配置指定组件,使其适合外观。 |
void |
paint(Graphics g, JComponent c) 绘制指定组件,使其适合外观。 |
protected void |
paintBackground(Graphics g, JMenuItem menuItem, Color bgColor) 绘制菜单项的背景。 |
protected void |
paintMenuItem(Graphics g, JComponent c, Icon checkIcon, Icon arrowIcon, Color background, Color foreground, int defaultTextIconGap) |
protected void |
paintText(Graphics g, JMenuItem menuItem, Rectangle textRect, String text) 呈现当前菜单项的文本。 |
protected void |
uninstallComponents(JMenuItem menuItem) |
protected void |
uninstallDefaults() |
protected void |
uninstallKeyboardActions() |
protected void |
uninstallListeners() |
void |
uninstallUI(JComponent c) 在 installUI 期间,在指定组件上反向执行的配置操作。 |
void |
update(Graphics g, JComponent c) 使用 paintMenuItem() 绘制背景,从而重写 update(默认情况下填充不透明组件的背景)以调用 paint()。 |
从类 javax.swing.plaf.ComponentUI 继承的方法 |
---|
contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected JMenuItem menuItem
protected Color selectionBackground
protected Color selectionForeground
protected Color disabledForeground
protected Color acceleratorForeground
protected Color acceleratorSelectionForeground
protected int defaultTextIconGap
protected Font acceleratorFont
protected MouseInputListener mouseInputListener
protected MenuDragMouseListener menuDragMouseListener
protected MenuKeyListener menuKeyListener
protected PropertyChangeListener propertyChangeListener
createPropertyChangeListener
返回的
PropertyChangeListener
。不需要访问此字段,如果想要定制
PropertyChangeListener
,则重写
createPropertyChangeListener
。
createPropertyChangeListener(javax.swing.JComponent)
protected Icon arrowIcon
protected Icon checkIcon
protected boolean oldBorderPainted
构造方法详细信息 |
---|
public BasicMenuItemUI()
方法详细信息 |
---|
public static ComponentUI createUI(JComponent c)
public void installUI(JComponent c)
ComponentUI
复制的描述
ComponentUI
实例将作为 UI 委托安装在指定组件上时,可调用此方法。此方法应该为外观完整地配置组件,包括以下方面:
LayoutManager
。 PropertyChangeListener
。
ComponentUI
中的
installUI
c
- 将安装此 UI 委托的组件
ComponentUI.uninstallUI(javax.swing.JComponent)
,
JComponent.setUI(javax.swing.plaf.ComponentUI)
,
JComponent.updateUI()
protected void installDefaults()
protected void installComponents(JMenuItem menuItem)
protected String getPropertyPrefix()
protected void installListeners()
protected void installKeyboardActions()
public void uninstallUI(JComponent c)
ComponentUI
复制的描述
installUI
期间,在指定组件上反向执行的配置操作。当此
UIComponent
实例将作为 UI 委托从指定组件上移除时,可调用此方法。此方法应该取消在
installUI
中执行的配置操作,非常小心地使
JComponent
实例处于某种洁净状态(没有额外的侦听器、没有特定于外观的属性对象等等)。配置内容应该包括以下方面:
ComponentUI
中的
uninstallUI
c
- 从中移除此 UI 委托的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
ComponentUI.installUI(javax.swing.JComponent)
,
JComponent.updateUI()
protected void uninstallDefaults()
protected void uninstallComponents(JMenuItem menuItem)
protected void uninstallListeners()
protected void uninstallKeyboardActions()
protected MouseInputListener createMouseInputListener(JComponent c)
protected MenuDragMouseListener createMenuDragMouseListener(JComponent c)
protected MenuKeyListener createMenuKeyListener(JComponent c)
protected PropertyChangeListener createPropertyChangeListener(JComponent c)
PropertyChangeListener
。如果此方法返回 null,则它将不会被添加到菜单项。
PropertyChangeListener
的实例或 null
public Dimension getMinimumSize(JComponent c)
ComponentUI
复制的描述
null
,则最小大小将由组件的布局管理器计算(对于安装了特定布局管理器的组件而言,这是首选方法)。此方法的默认实现调用
getPreferredSize
并返回该值。
ComponentUI
中的
getMinimumSize
c
- 将查询其最小大小的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
Dimension
对象或
null
JComponent.getMinimumSize()
,
LayoutManager.minimumLayoutSize(java.awt.Container)
,
ComponentUI.getPreferredSize(javax.swing.JComponent)
public Dimension getPreferredSize(JComponent c)
ComponentUI
复制的描述
null
,则首选大小将由组件的布局管理器计算(对于安装了特定布局管理器的组件而言,这是首选方法)。此方法的默认实现返回
null
。
ComponentUI
中的
getPreferredSize
c
- 将查询其首选大小的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
JComponent.getPreferredSize()
,
LayoutManager.preferredLayoutSize(java.awt.Container)
public Dimension getMaximumSize(JComponent c)
ComponentUI
复制的描述
null
,则最大大小将由组件的布局管理器计算(对于安装了特定布局管理器的组件而言,这是首选方法)。此方法的默认实现调用
getPreferredSize
并返回该值。
ComponentUI
中的
getMaximumSize
c
- 将查询其最大大小的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
Dimension
对象或
null
JComponent.getMaximumSize()
,
LayoutManager2.maximumLayoutSize(java.awt.Container)
protected Dimension getPreferredMenuItemSize(JComponent c, Icon checkIcon, Icon arrowIcon, int defaultTextIconGap)
public void update(Graphics g, JComponent c)
ComponentUI
中的
update
g
- 将在其中进行绘制的
Graphics
上下文
c
- 将绘制的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
ComponentUI.paint(java.awt.Graphics, javax.swing.JComponent)
,
JComponent.paintComponent(java.awt.Graphics)
public void paint(Graphics g, JComponent c)
ComponentUI
复制的描述
ComponentUI.update
方法中调用此方法。子类应该重写此方法并使用指定
Graphics
对象来呈现组件的内容。
ComponentUI
中的
paint
g
- 将在其中进行绘制的
Graphics
上下文
c
- 将绘制的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
protected void paintMenuItem(Graphics g, JComponent c, Icon checkIcon, Icon arrowIcon, Color background, Color foreground, int defaultTextIconGap)
protected void paintBackground(Graphics g, JMenuItem menuItem, Color bgColor)
g
- 绘制图形
menuItem
- 要绘制的菜单项
bgColor
- 选择背景色
protected void paintText(Graphics g, JMenuItem menuItem, Rectangle textRect, String text)
g
- 图形上下文
menuItem
- 要呈现的菜单项
textRect
- 用于呈现文本的边界矩形
text
- 要呈现的字符串
public MenuElement[] getPath()
protected void doClick(MenuSelectionManager msm)
msm
- MenuSelectionManager。将可视化反馈和内部簿记任务委托给此 MenuSelectionManager。如果将
null
作为此方法的参数传递,则使用
MenuSelectionManager.defaultManager
。
MenuSelectionManager
,
AbstractButton.doClick(int)