- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.LabelUI
-
- javax.swing.plaf.basic.BasicLabelUI
-
- All Implemented Interfaces:
-
PropertyChangeListener
,EventListener
- 已知直接子类:
-
MetalLabelUI
,SynthLabelUI
public class BasicLabelUI extends LabelUI implements PropertyChangeListener
LabelUI的Windows L&F实现。 这个实现是完全静态的,即所有JLabel对象共享的只有一个UIView实现。
-
-
Field Summary
Fields Modifier and Type Field 描述 protected static BasicLabelUI
labelUI
默认为BasicLabelUI
实例。
-
构造方法摘要
构造方法 Constructor 描述 BasicLabelUI()
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 static ComponentUI
createUI(JComponent c)
返回一个BasicLabelUI
的实例。int
getBaseline(JComponent c, int width, int height)
返回基线。Component.BaselineResizeBehavior
getBaselineResizeBehavior(JComponent c)
返回一个枚举,指示组件的基线如何随着大小的变化而改变。Dimension
getMaximumSize(JComponent c)
返回指定组件的最大尺寸,适合外观和感觉。Dimension
getMinimumSize(JComponent c)
返回指定组件的最小尺寸,适合外观和感觉。Dimension
getPreferredSize(JComponent c)
返回指定组件的偏好大小,适合外观和感觉。protected void
installComponents(JLabel c)
注册组件。protected void
installDefaults(JLabel c)
安装默认属性。protected void
installKeyboardActions(JLabel l)
注册键盘操作。protected void
installListeners(JLabel c)
注册听众。void
installUI(JComponent c)
适当地配置指定的组件的外观和感觉。protected String
layoutCL(JLabel label, FontMetrics fontMetrics, String text, Icon icon, Rectangle viewR, Rectangle iconR, Rectangle textR)
转发给SwingUtilities.layoutCompoundLabel()的调用。void
paint(Graphics g, JComponent c)
用前景颜色绘制标签文本,如果标签不透明,则使用背景颜色绘制整个背景。protected void
paintDisabledText(JLabel l, Graphics g, String s, int textX, int textY)
在textX上绘制clippedText,textY与background.lighter(),然后向下移动并向右移动一个像素与background.darker()。protected void
paintEnabledText(JLabel l, Graphics g, String s, int textX, int textY)
在textX上绘制clippedText,textY带有标签前景色。void
propertyChange(PropertyChangeEvent e)
当绑定属性更改时,此方法将被调用。protected void
uninstallComponents(JLabel c)
取消注册组件。protected void
uninstallDefaults(JLabel c)
卸载默认属性。protected void
uninstallKeyboardActions(JLabel c)
取消注册键盘操作。protected void
uninstallListeners(JLabel c)
取消注册听众。void
uninstallUI(JComponent c)
在installUI
反转在指定组件上完成的配置。-
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, update
-
-
-
-
字段详细信息
-
labelUI
protected static BasicLabelUI labelUI
默认BasicLabelUI
实例。 此字段可能不会被使用。 要更改默认实例,请使用覆盖createUI
方法的子类,并将该类名称放在“LabelUI”键下的默认表中。
-
-
方法详细信息
-
layoutCL
protected String layoutCL(JLabel label, FontMetrics fontMetrics, String text, Icon icon, Rectangle viewR, Rectangle iconR, Rectangle textR)
转发给SwingUtilities.layoutCompoundLabel()的调用。 这个方法就是这样一个子类可以做一些Label特定的布局,并缩短方法的名称。- 参数
-
label
-实例JLabel
-
fontMetrics
- 字体指标 -
text
- 一个文字 -
icon
- 一个图标 -
viewR
- 一个用于布局标签的边框 -
iconR
- 一个边界矩形布局图标 -
textR
- 用于布局文本的边界矩形 - 结果
- 复合标签字符串的可能剪辑版本
- 另请参见:
-
SwingUtilities.layoutCompoundLabel(javax.swing.JComponent, java.awt.FontMetrics, java.lang.String, javax.swing.Icon, int, int, int, int, java.awt.Rectangle, java.awt.Rectangle, java.awt.Rectangle, int)
-
paintEnabledText
protected void paintEnabledText(JLabel l, Graphics g, String s, int textX, int textY)
在textX上绘制clippedText,textY带有标签前景色。- 参数
-
l
-实例JLabel
-
g
-实例Graphics
-
s
- 一个文本 -
textX
- 一个X坐标 -
textY
- 一个Y坐标 - 另请参见:
-
paint(java.awt.Graphics, javax.swing.JComponent)
,paintDisabledText(javax.swing.JLabel, java.awt.Graphics, java.lang.String, int, int)
-
paintDisabledText
protected void paintDisabledText(JLabel l, Graphics g, String s, int textX, int textY)
在textX上绘制clippedText,textY与background.lighter(),然后向下移动并向右移动一个像素与background.darker()。- 参数
-
l
-实例JLabel
-
g
-实例Graphics
-
s
- 一个文本 -
textX
- 一个X坐标 -
textY
- 一个Y坐标 - 另请参见:
-
paint(java.awt.Graphics, javax.swing.JComponent)
,paintEnabledText(javax.swing.JLabel, java.awt.Graphics, java.lang.String, int, int)
-
paint
public void paint(Graphics g, JComponent c)
用前景颜色绘制标签文本,如果标签不透明,则使用背景颜色绘制整个背景。 标签文本由paintEnabledText(javax.swing.JLabel, java.awt.Graphics, java.lang.String, int, int)
或paintDisabledText(javax.swing.JLabel, java.awt.Graphics, java.lang.String, int, int)
绘制。 标签部件的位置由layoutCL(javax.swing.JLabel, java.awt.FontMetrics, java.lang.String, javax.swing.Icon, java.awt.Rectangle, java.awt.Rectangle, java.awt.Rectangle)
计算。- 重写:
-
paint
在ComponentUI
- 参数
-
g
- 要绘画的Graphics
上下文 -
c
- 正在涂漆的部件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 另请参见:
-
paintEnabledText(javax.swing.JLabel, java.awt.Graphics, java.lang.String, int, int)
,paintDisabledText(javax.swing.JLabel, java.awt.Graphics, java.lang.String, int, int)
,layoutCL(javax.swing.JLabel, java.awt.FontMetrics, java.lang.String, javax.swing.Icon, java.awt.Rectangle, java.awt.Rectangle, java.awt.Rectangle)
-
getPreferredSize
public Dimension getPreferredSize(JComponent c)
描述从类复制:ComponentUI
返回指定组件的偏好大小,适合外观和感觉。 如果返回null
,则首选大小将由组件的布局管理器计算(这是安装了特定布局管理器的任何组件的首选方法)。 此方法的默认实现返回null
。- 重写:
-
getPreferredSize
在ComponentUI
- 参数
-
c
- 要查询其首选大小的组件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 结果
-
一个
Dimension
对象包含给定的组件的首选大小适合外观和感觉 - 另请参见:
-
JComponent.getPreferredSize()
,LayoutManager.preferredLayoutSize(java.awt.Container)
-
getMinimumSize
public Dimension getMinimumSize(JComponent c)
描述从类复制:ComponentUI
返回指定组件的最小尺寸,适合外观和感觉。 如果返回null
,则最小尺寸将由组件的布局管理器计算(这是安装了特定布局管理器的任何组件的首选方法)。 此方法的默认实现将调用getPreferredSize
并返回该值。- 重写:
-
getMinimumSize
在ComponentUI
- 参数
-
c
- 查询最小大小的组件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 结果
- 的getPreferredSize(c)中
- 另请参见:
-
JComponent.getMinimumSize()
,LayoutManager.minimumLayoutSize(java.awt.Container)
,ComponentUI.getPreferredSize(javax.swing.JComponent)
-
getMaximumSize
public Dimension getMaximumSize(JComponent c)
描述从类复制:ComponentUI
返回指定组件的最大尺寸,适合外观和感觉。 如果返回null
,则由组件布局管理器计算最大大小(这是安装了特定布局管理器的任何组件的首选方法)。 此方法的默认实现将调用getPreferredSize
并返回该值。- 重写:
-
getMaximumSize
在ComponentUI
- 参数
-
c
- 查询最大大小的组件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 结果
- 的getPreferredSize(c)中
- 另请参见:
-
JComponent.getMaximumSize()
,LayoutManager2.maximumLayoutSize(java.awt.Container)
-
getBaseline
public int getBaseline(JComponent c, int width, int height)
返回基线。- 重写:
-
getBaseline
在ComponentUI
- 参数
-
c
-JComponent
正在请求基准 -
width
- 获取基准的宽度 -
height
- 获取基准的高度 - 结果
- 基线或值<0表示没有合理的基线
- 异常
-
NullPointerException
- 如果c
是null
-
IllegalArgumentException
- 如果宽度或高度<0 - 从以下版本开始:
- 1.6
- 另请参见:
-
JComponent.getBaseline(int, int)
-
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
返回一个枚举,指示组件的基线如何随着大小的变化而改变。- 重写:
-
getBaselineResizeBehavior
在ComponentUI
- 参数
-
c
-JComponent
返回基准调整行为 - 结果
- 一个枚举,指示基准随着组件大小的变化而改变
- 异常
-
NullPointerException
- 如果c
是null
- 从以下版本开始:
- 1.6
- 另请参见:
-
JComponent.getBaseline(int, int)
-
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()
-
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()
-
installDefaults
protected void installDefaults(JLabel c)
安装默认属性。- 参数
-
c
-实例JLabel
-
installListeners
protected void installListeners(JLabel c)
注册听众。- 参数
-
c
-实例JLabel
-
installComponents
protected void installComponents(JLabel c)
注册组件。- 参数
-
c
-实例JLabel
-
installKeyboardActions
protected void installKeyboardActions(JLabel l)
注册键盘操作。- 参数
-
l
-实例JLabel
-
uninstallDefaults
protected void uninstallDefaults(JLabel c)
卸载默认属性。- 参数
-
c
-实例JLabel
-
uninstallListeners
protected void uninstallListeners(JLabel c)
取消注册听众。- 参数
-
c
-实例JLabel
-
uninstallComponents
protected void uninstallComponents(JLabel c)
取消注册组件。- 参数
-
c
-实例JLabel
-
uninstallKeyboardActions
protected void uninstallKeyboardActions(JLabel c)
取消注册键盘操作。- 参数
-
c
-实例JLabel
-
createUI
public static ComponentUI createUI(JComponent c)
返回一个BasicLabelUI
的实例。- 参数
-
c
- 一个组件 - 结果
-
一个
BasicLabelUI
-
propertyChange
public void propertyChange(PropertyChangeEvent e)
说明从接口PropertyChangeListener
复制当绑定属性更改时,此方法将被调用。- Specified by:
-
propertyChange
在接口PropertyChangeListener
- 参数
-
e
- 描述事件源和已更改属性的PropertyChangeEvent对象。
-
-