- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.ButtonUI
-
- javax.swing.plaf.MenuItemUI
-
- javax.swing.plaf.basic.BasicMenuItemUI
-
public class BasicMenuItemUI extends MenuItemUI
BasicMenuItem实现
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 protected class
BasicMenuItemUI.MouseInputHandler
鼠标输入处理程序
-
Field Summary
Fields Modifier and Type Field 描述 protected String
acceleratorDelimiter
新新'+'
'Ctrl+C'
protected Font
acceleratorFont
加速器字体。protected Color
acceleratorForeground
加速器前景的颜色。protected Color
acceleratorSelectionForeground
加速器选择的颜色。protected Icon
arrowIcon
箭头图标。protected Icon
checkIcon
检查图标。protected int
defaultTextIconGap
文字与图示之间的差距。protected Color
disabledForeground
禁用前景的颜色。protected MenuDragMouseListener
menuDragMouseListener
实例MenuDragMouseListener
。protected JMenuItem
menuItem
实例JMenuItem
。protected MenuKeyListener
menuKeyListener
实例MenuKeyListener
。protected MouseInputListener
mouseInputListener
实例MouseInputListener
。protected boolean
oldBorderPainted
该值表示如果旧边框被绘制。protected PropertyChangeListener
propertyChangeListener
PropertyChangeListener
从createPropertyChangeListener
返回。protected Color
selectionBackground
选择背景的颜色。protected Color
selectionForeground
选择前景的颜色。
-
构造方法摘要
构造方法 Constructor 描述 BasicMenuItemUI()
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 protected MenuDragMouseListener
createMenuDragMouseListener(JComponent c)
返回一个MenuDragMouseListener
的实例。protected MenuKeyListener
createMenuKeyListener(JComponent c)
返回一个MenuKeyListener
的实例。protected MouseInputListener
createMouseInputListener(JComponent c)
返回一个MouseInputListener
的实例。protected PropertyChangeListener
createPropertyChangeListener(JComponent c)
创建一个PropertyChangeListener
将被添加到菜单项。static ComponentUI
createUI(JComponent c)
返回一个新的实例BasicMenuItemUI
。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()中绘制背景,因此覆盖更新(默认填写不透明组件的背景)来调用paint()。-
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior
-
-
-
-
字段详细信息
-
menuItem
protected JMenuItem menuItem
实例JMenuItem
。
-
selectionBackground
protected Color selectionBackground
选择背景的颜色。
-
selectionForeground
protected Color selectionForeground
选择前景的颜色。
-
disabledForeground
protected Color disabledForeground
禁用前景的颜色。
-
acceleratorForeground
protected Color acceleratorForeground
加速器前景的颜色。
-
acceleratorSelectionForeground
protected Color acceleratorSelectionForeground
加速器选择的颜色。
-
acceleratorDelimiter
protected String acceleratorDelimiter
加速器分隔字符串,如'+'
在'Ctrl+C'
。- 从以下版本开始:
- 1.7
-
defaultTextIconGap
protected int defaultTextIconGap
文字与图示之间的差距。
-
acceleratorFont
protected Font acceleratorFont
加速器字体。
-
mouseInputListener
protected MouseInputListener mouseInputListener
实例MouseInputListener
。
-
menuDragMouseListener
protected MenuDragMouseListener menuDragMouseListener
实例MenuDragMouseListener
。
-
menuKeyListener
protected MenuKeyListener menuKeyListener
实例MenuKeyListener
。
-
propertyChangeListener
protected PropertyChangeListener propertyChangeListener
PropertyChangeListener
从createPropertyChangeListener
返回。 您不应该需要访问此字段,而是要自定义PropertyChangeListener
覆盖createPropertyChangeListener
。- 从以下版本开始:
- 1.6
- 另请参见:
-
createPropertyChangeListener(javax.swing.JComponent)
-
arrowIcon
protected Icon arrowIcon
箭头图标。
-
checkIcon
protected Icon checkIcon
检查图标。
-
oldBorderPainted
protected boolean oldBorderPainted
该值表示如果旧边框被绘制。
-
-
方法详细信息
-
createUI
public static ComponentUI createUI(JComponent c)
返回一个新的实例BasicMenuItemUI
。- 参数
-
c
- 一个组件 - 结果
-
一个新的例子
BasicMenuItemUI
-
installUI
public void installUI(JComponent c)
描述从类复制:ComponentUI
适当地配置指定的组件的外观和感觉。 当正在安装ComponentUI
实例作为指定组件上的UI委托时,将调用此方法。 该方法应该完全配置组件的外观,包括以下内容:- 为组件上的颜色,字体,边框,图标,不透明度等安装默认属性值。 只要有可能,由客户端程序初始化的属性值不应该被重写。
- 如有必要,请在组件上安装
LayoutManager
。 - 创建/添加任何所需的子组件到组件。
- 在组件上创建/安装事件监听器。
- 在组件上创建/安装
PropertyChangeListener
,以便适当地检测和响应组件属性的更改。 - 在组件上安装键盘UI(助记符,遍历等)。
- 初始化任何适当的实例数据。
- 重写:
-
installUI
在ComponentUI
- 参数
-
c
- 正在安装此UIc
的组件 - 另请参见:
-
ComponentUI.uninstallUI(javax.swing.JComponent)
,JComponent.setUI(javax.swing.plaf.ComponentUI)
,JComponent.updateUI()
-
installDefaults
protected void installDefaults()
安装默认属性。
-
installComponents
protected void installComponents(JMenuItem menuItem)
- 参数
-
menuItem
- 一个菜单项 - 从以下版本开始:
- 1.3
-
getPropertyPrefix
protected String getPropertyPrefix()
返回属性前缀。- 结果
- 属性前缀
-
installListeners
protected void installListeners()
注册听众。
-
installKeyboardActions
protected void installKeyboardActions()
注册键盘动作。
-
uninstallUI
public void uninstallUI(JComponent c)
描述从类复制:ComponentUI
在installUI
反转在指定组件上完成的配置。 当该UIComponent
实例作为指定组件的UI委托被删除时,将调用此方法。 该方法应该撤销在installUI
执行的配置,注意将JComponent
实例保持在干净的状态(没有无关的侦听器,外观特定属性对象等)。 这应该包括以下内容:- 从组件中删除任何UI集边框。
- 删除组件上的任何UI集布局管理器。
- 从组件中删除任何添加了UI的子组件。
- 从组件中删除任何UI添加的事件/属性侦听器。
- 从组件中删除任何UI安装的键盘UI。
- 对任何分配的实例数据对象进行空白以允许GC。
- 重写:
-
uninstallUI
在ComponentUI
- 参数
-
c
- 正在删除此UIc
的组件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 另请参见:
-
ComponentUI.installUI(javax.swing.JComponent)
,JComponent.updateUI()
-
uninstallDefaults
protected void uninstallDefaults()
卸载默认属性。
-
uninstallComponents
protected void uninstallComponents(JMenuItem menuItem)
取消注册组件。- 参数
-
menuItem
- 一个菜单项 - 从以下版本开始:
- 1.3
-
uninstallListeners
protected void uninstallListeners()
取消注册听众。
-
uninstallKeyboardActions
protected void uninstallKeyboardActions()
取消注册键盘操作。
-
createMouseInputListener
protected MouseInputListener createMouseInputListener(JComponent c)
返回一个MouseInputListener
的实例。- 参数
-
c
- 一个组件 - 结果
-
一个
MouseInputListener
-
createMenuDragMouseListener
protected MenuDragMouseListener createMenuDragMouseListener(JComponent c)
返回一个MenuDragMouseListener
的实例。- 参数
-
c
- 一个组件 - 结果
-
一个
MenuDragMouseListener
-
createMenuKeyListener
protected MenuKeyListener createMenuKeyListener(JComponent c)
返回一个MenuKeyListener
的实例。- 参数
-
c
- 一个组件 - 结果
-
一个
MenuKeyListener
-
createPropertyChangeListener
protected PropertyChangeListener createPropertyChangeListener(JComponent c)
创建一个将被添加到菜单项的PropertyChangeListener
。 如果此方法返回null,则不会将其添加到菜单项。- 参数
-
c
- 一个组件 - 结果
-
一个
PropertyChangeListener
的实例或null - 从以下版本开始:
- 1.6
-
getMinimumSize
public Dimension getMinimumSize(JComponent c)
描述从类复制:ComponentUI
返回指定组件的最小尺寸,适合外观和感觉。 如果返回null
,则最小尺寸将由组件的布局管理器计算(这是安装了特定布局管理器的任何组件的首选方法)。 此方法的默认实现将调用getPreferredSize
并返回该值。- 重写:
-
getMinimumSize
在ComponentUI
- 参数
-
c
- 查询最小大小的组件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 结果
-
一个
Dimension
对象或null
- 另请参见:
-
JComponent.getMinimumSize()
,LayoutManager.minimumLayoutSize(java.awt.Container)
,ComponentUI.getPreferredSize(javax.swing.JComponent)
-
getPreferredSize
public Dimension getPreferredSize(JComponent c)
描述从类复制:ComponentUI
返回指定组件的偏好大小,适合外观和感觉。 如果返回null
,则首选的大小将由组件的布局管理器计算(这是安装了特定布局管理器的任何组件的首选方法)。 此方法的默认实现将返回null
。- 重写:
-
getPreferredSize
在ComponentUI
- 参数
-
c
- 要查询其首选大小的组件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 结果
-
一个
Dimension
对象包含给定的组件的首选大小适合外观和感觉 - 另请参见:
-
JComponent.getPreferredSize()
,LayoutManager.preferredLayoutSize(java.awt.Container)
-
getMaximumSize
public Dimension getMaximumSize(JComponent c)
描述从类复制:ComponentUI
返回指定组件的最大尺寸,适合外观和感觉。 如果返回null
,则最大大小将由组件的布局管理器计算(这是安装了特定布局管理器的任何组件的首选方法)。 此方法的默认实现将调用getPreferredSize
并返回该值。- 重写:
-
getMaximumSize
在ComponentUI
- 参数
-
c
- 查询最大大小的组件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 结果
-
一个
Dimension
对象或null
- 另请参见:
-
JComponent.getMaximumSize()
,LayoutManager2.maximumLayoutSize(java.awt.Container)
-
getPreferredMenuItemSize
protected Dimension getPreferredMenuItemSize(JComponent c, Icon checkIcon, Icon arrowIcon, int defaultTextIconGap)
返回菜单项的首选大小。- 参数
-
c
- 一个组件 -
checkIcon
- 一个支票图标 -
arrowIcon
- 一个箭头图标 -
defaultTextIconGap
- 文本和图标之间的差距 - 结果
- 菜单项的首选大小
-
update
public void update(Graphics g, JComponent c)
我们在paintMenuItem()中绘制背景,因此覆盖更新(默认填写不透明组件的背景)来调用paint()。- 重写:
-
update
在ComponentUI
- 参数
-
g
- 要绘画的Graphics
上下文 -
c
- 正在涂漆的部件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 另请参见:
-
ComponentUI.paint(java.awt.Graphics, javax.swing.JComponent)
,JComponent.paintComponent(java.awt.Graphics)
-
paint
public void paint(Graphics g, JComponent c)
描述从类复制:ComponentUI
适当地涂抹指定的组件的外观和感觉。 当正在绘制指定的组件时,将从ComponentUI.update
方法调用此方法。 子类应该覆盖此方法,并使用指定的Graphics
对象来呈现组件的内容。- 重写:
-
paint
在ComponentUI
- 参数
-
g
- 要绘画的Graphics
上下文 -
c
- 正在涂漆的部件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 另请参见:
-
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
-
paintMenuItem
protected void paintMenuItem(Graphics g, JComponent c, Icon checkIcon, Icon arrowIcon, Color background, Color foreground, int defaultTextIconGap)
画一个菜单项。- 参数
-
g
-实例Graphics
-
c
- 一个组件 -
checkIcon
- 一个支票图标 -
arrowIcon
- 一个箭头图标 -
background
- 背景颜色 -
foreground
- 前景色 -
defaultTextIconGap
- 文本和图标之间的间隙
-
paintBackground
protected void paintBackground(Graphics g, JMenuItem menuItem, Color bgColor)
绘制菜单项的背景。- 参数
-
g
- 油漆图形 -
menuItem
- 要画的菜单项 -
bgColor
- 选择背景颜色 - 从以下版本开始:
- 1.4
-
paintText
protected void paintText(Graphics g, JMenuItem menuItem, Rectangle textRect, String text)
呈现当前菜单项的文本。- 参数
-
g
- 图形上下文 -
menuItem
- 要呈现的菜单项 -
textRect
- 用于呈现文本的边界矩形 -
text
- 要呈现的字符串 - 从以下版本开始:
- 1.4
-
getPath
public MenuElement[] getPath()
返回菜单元素路径。- 结果
- 菜单元素路径
-
doClick
protected void doClick(MenuSelectionManager msm)
当菜单项被激活时调用此方法。 此方法处理菜单项激活的一些细节,例如清除所选路径并发送JMenuItem的doClick()方法。- 参数
-
msm
- MenuSelectionManager。 视觉反馈和内部簿记任务被委派给该MenuSelectionManager。 如果null
作为参数传递,则使用MenuSelectionManager.defaultManager
。 - 从以下版本开始:
- 1.4
- 另请参见:
-
MenuSelectionManager
,AbstractButton.doClick(int)
-
-