- 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 BasicLabelUIlabelUI默认为BasicLabelUI实例。
-
构造方法摘要
构造方法 Constructor 描述 BasicLabelUI()
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 static ComponentUIcreateUI(JComponent c)返回一个BasicLabelUI的实例。intgetBaseline(JComponent c, int width, int height)返回基线。Component.BaselineResizeBehaviorgetBaselineResizeBehavior(JComponent c)返回一个枚举,指示组件的基线如何随着大小的变化而改变。DimensiongetMaximumSize(JComponent c)返回指定组件的最大尺寸,适合外观和感觉。DimensiongetMinimumSize(JComponent c)返回指定组件的最小尺寸,适合外观和感觉。DimensiongetPreferredSize(JComponent c)返回指定组件的偏好大小,适合外观和感觉。protected voidinstallComponents(JLabel c)注册组件。protected voidinstallDefaults(JLabel c)安装默认属性。protected voidinstallKeyboardActions(JLabel l)注册键盘操作。protected voidinstallListeners(JLabel c)注册听众。voidinstallUI(JComponent c)适当地配置指定的组件的外观和感觉。protected StringlayoutCL(JLabel label, FontMetrics fontMetrics, String text, Icon icon, Rectangle viewR, Rectangle iconR, Rectangle textR)转发给SwingUtilities.layoutCompoundLabel()的调用。voidpaint(Graphics g, JComponent c)用前景颜色绘制标签文本,如果标签不透明,则使用背景颜色绘制整个背景。protected voidpaintDisabledText(JLabel l, Graphics g, String s, int textX, int textY)在textX上绘制clippedText,textY与background.lighter(),然后向下移动并向右移动一个像素与background.darker()。protected voidpaintEnabledText(JLabel l, Graphics g, String s, int textX, int textY)在textX上绘制clippedText,textY带有标签前景色。voidpropertyChange(PropertyChangeEvent e)当绑定属性更改时,此方法将被调用。protected voiduninstallComponents(JLabel c)取消注册组件。protected voiduninstallDefaults(JLabel c)卸载默认属性。protected voiduninstallKeyboardActions(JLabel c)取消注册键盘操作。protected voiduninstallListeners(JLabel c)取消注册听众。voiduninstallUI(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对象。
-
-