JavaTM Platform
Standard Ed. 6

javax.swing.plaf.basic
类 BasicLabelUI

java.lang.Object
  继承者 javax.swing.plaf.ComponentUI
      继承者 javax.swing.plaf.LabelUI
          继承者 javax.swing.plaf.basic.BasicLabelUI
所有已实现的接口:
PropertyChangeListener, EventListener
直接已知子类:
MetalLabelUI

public class BasicLabelUI
extends LabelUI
implements PropertyChangeListener

LabelUI 的 Windows L&F 实现。此实现完全是静态的,即所有 JLabel 对象仅共享一种 UIView 实现。


字段摘要
protected static BasicLabelUI labelUI
          默认 BasicLabelUI 实例。
 
构造方法摘要
BasicLabelUI()
           
 
方法摘要
static ComponentUI createUI(JComponent c)
           
 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)
          利用 background.lighter() 将 clippedText 绘制在 textX、textY 处,然后利用 background.darker() 向右下移动一个像素。
protected  void paintEnabledText(JLabel l, Graphics g, String s, int textX, int textY)
          利用标签的前景色将 clippedText 绘制在 textX、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 期间,在指定组件上反向执行的配置操作。
 
从类 javax.swing.plaf.ComponentUI 继承的方法
contains, getAccessibleChild, getAccessibleChildrenCount, update
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

labelUI

protected static BasicLabelUI labelUI
默认 BasicLabelUI 实例。可以不使用此字段。要更改默认实例,请使用重写 createUI 方法的子类,并将该类名称置于默认表中 "LabelUI" 键之下。

构造方法详细信息

BasicLabelUI

public BasicLabelUI()
方法详细信息

layoutCL

protected String layoutCL(JLabel label,
                          FontMetrics fontMetrics,
                          String text,
                          Icon icon,
                          Rectangle viewR,
                          Rectangle iconR,
                          Rectangle textR)
将调用转发到 SwingUtilities.layoutCompoundLabel()。此方法位于此处以便子类可执行特定于 Label 的布局,并可以使方法名简化一点。

另请参见:
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)
利用标签的前景色将 clippedText 绘制在 textX、textY 处。

另请参见:
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)
利用 background.lighter() 将 clippedText 绘制在 textX、textY 处,然后利用 background.darker() 向右下移动一个像素。

另请参见:
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)
使用前景色绘制标签文本,如果标签不透明,则利用背景色绘制整个背景。Label 文本是由 paintEnabledText() 或 paintDisabledText() 绘制的。标签部分的位置由 layoutCL 计算。

覆盖:
ComponentUI 中的 paint
参数:
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

覆盖:
ComponentUI 中的 getPreferredSize
参数:
c - 将查询其首选大小的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
另请参见:
JComponent.getPreferredSize(), LayoutManager.preferredLayoutSize(java.awt.Container)

getMinimumSize

public Dimension getMinimumSize(JComponent c)
从类 ComponentUI 复制的描述
返回指定组件的适合外观的最小大小。如果返回 null,则最小大小将由组件的布局管理器计算(对于安装了特定布局管理器的组件而言,这是首选方法)。此方法的默认实现调用 getPreferredSize 并返回该值。

覆盖:
ComponentUI 中的 getMinimumSize
参数:
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 并返回该值。

覆盖:
ComponentUI 中的 getMaximumSize
参数:
c - 将查询其最大大小的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
返回:
getPreferredSize(c)
另请参见:
JComponent.getMaximumSize(), LayoutManager2.maximumLayoutSize(java.awt.Container)

getBaseline

public int getBaseline(JComponent c,
                       int width,
                       int height)
返回基线。

覆盖:
ComponentUI 中的 getBaseline
参数:
c - 为其请求基线的 JComponent
width - 为其获取基线的宽度
height - 为其获取基线的高度
返回:
基线;如果没有合理的基线,则返回 < 0 的值
抛出:
NullPointerException - 如果 cnull
IllegalArgumentException - 如果宽度或高度 < 0
从以下版本开始:
1.6
另请参见:
JComponent.getBaseline(int, int)

getBaselineResizeBehavior

public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
返回一个枚举,它指示组件的基线如何随大小的改变而发生更改。

覆盖:
ComponentUI 中的 getBaselineResizeBehavior
参数:
c - 为其返回调整大小行为的 JComponent
返回:
一个枚举,指示基线如何随组件大小的改变而发生更改
抛出:
NullPointerException - 如果 cnull
从以下版本开始:
1.6
另请参见:
JComponent.getBaseline(int, int)

installUI

public void installUI(JComponent c)
从类 ComponentUI 复制的描述
配置指定组件,使其适合外观。当 ComponentUI 实例将作为 UI 委托安装在指定组件上时,可调用此方法。此方法应该为外观完整地配置组件,包括以下方面:
  1. 在组件上安装用于颜色、字体、边框、图标、不透明性等方面的所有默认属性值。只要有可能,就 应该重写由客户端程序初始化的属性值。
  2. 如有必要,可在组件上安装一个 LayoutManager
  3. 将所需的所有子组件创建/添加到组件中。
  4. 在组件上创建/安装事件侦听器。
  5. 为了检测和适当响应组件属性更改,可在组件上创建/安装一个 PropertyChangeListener
  6. 在组件上安装键盘 UI(助记符、遍历等等)。
  7. 初始化任何适当的实例数据。

覆盖:
ComponentUI 中的 installUI
参数:
c - 将安装此 UI 委托的组件
另请参见:
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 实例处于某种洁净状态(没有额外的侦听器、没有特定于外观的属性对象等等)。配置内容应该包括以下方面:
  1. 从组件中移除所有 UI 设置的边框。
  2. 从组件上移除所有 UI 设置的布局管理器。
  3. 从组件中移除所有 UI 添加的子组件。
  4. 从组件中移除所有 UI 添加的事件/属性侦听器。
  5. 从组件中移除所有 UI 安装的键盘 UI。
  6. 使所有已分配的实例数据对象无效,从而允许进行 GC 操作。

覆盖:
ComponentUI 中的 uninstallUI
参数:
c - 从中移除此 UI 委托的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
另请参见:
ComponentUI.installUI(javax.swing.JComponent), JComponent.updateUI()

installDefaults

protected void installDefaults(JLabel c)

installListeners

protected void installListeners(JLabel c)

installComponents

protected void installComponents(JLabel c)

installKeyboardActions

protected void installKeyboardActions(JLabel l)

uninstallDefaults

protected void uninstallDefaults(JLabel c)

uninstallListeners

protected void uninstallListeners(JLabel c)

uninstallComponents

protected void uninstallComponents(JLabel c)

uninstallKeyboardActions

protected void uninstallKeyboardActions(JLabel c)

createUI

public static ComponentUI createUI(JComponent c)

propertyChange

public void propertyChange(PropertyChangeEvent e)
从接口 PropertyChangeListener 复制的描述
在绑定属性发生更改时调用此方法。

指定者:
接口 PropertyChangeListener 中的 propertyChange
参数:
e - 描述事件源和已更改属性的 PropertyChangeEvent 对象。

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策