模块 java.desktop

类 JLabel

所有已实现的接口:
ImageObserver , MenuContainer , Serializable , Accessible , SwingConstants
已知子类:
BasicComboBoxRenderer , DefaultListCellRenderer , DefaultTableCellRenderer , DefaultTreeCellRenderer

@JavaBean (defaultProperty ="UI", description ="A component that displays a short string and an icon.") public class JLabel extends JComponent implements SwingConstants , Accessible
短文本字符串或图像或两者的显示区域。标签不会对输入事件做出反应。结果,它无法获得键盘焦点。但是,标签可以显示替代键盘,以方便附近有替代键盘但无法显示的组件。

JLabel 对象可以显示文本、图像或两者。您可以通过设置垂直和水平对齐方式来指定标签内容在标签显示区域中的对齐位置。默认情况下,标签在其显示区域中垂直居中。默认情况下,纯文本标签是前缘对齐的;默认情况下,仅图像标签水平居中。

您还可以指定文本相对于图像的位置。默认情况下,文本位于图像的后缘,文本和图像垂直对齐。

标签的前缘和后缘由其 ComponentOrientation 属性的值确定。目前,默认的 ComponentOrientation 设置将前缘映射到左侧,将后缘映射到右侧。

最后,您可以使用 setIconTextGap 方法指定文本和图像之间应出现多少像素。默认值为 4 个像素。

有关更多文档,请参阅 The Java Tutorial 中的 如何使用标签

Warning: Swing 不是线程安全的。有关详细信息,请参阅 Swing 的线程策略

Warning: 此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans 的长期存储的支持已添加到 java.beans 包中。请参阅 XMLEncoder

自从:
1.2
  • 字段详细信息

    • labelFor

      protected Component  labelFor
      该标签适用于的组件;如果标签不是组件的标签,则为 null
  • 构造方法详细信息

    • JLabel

      public JLabel(String  text, Icon  icon, int horizontalAlignment)
      创建具有指定文本、图像和水平对齐方式的 JLabel 实例。标签在其显示区域中垂直居中。文本位于图像的后缘。
      参数:
      text - 标签要显示的文本。
      icon - 标签要显示的图像。
      horizontalAlignment - SwingConstants 中定义的以下常量之一:LEFTCENTERRIGHTLEADINGTRAILING
    • JLabel

      public JLabel(String  text, int horizontalAlignment)
      创建具有指定文本和水平对齐方式的 JLabel 实例。标签在其显示区域中垂直居中。
      参数:
      text - 标签要显示的文本。
      horizontalAlignment - SwingConstants 中定义的以下常量之一:LEFTCENTERRIGHTLEADINGTRAILING
    • JLabel

      public JLabel(String  text)
      使用指定的文本创建一个 JLabel 实例。标签与其显示区域的前缘对齐,并垂直居中。
      参数:
      text - 标签要显示的文本。
    • JLabel

      public JLabel(Icon  image, int horizontalAlignment)
      创建具有指定图像和水平对齐方式的 JLabel 实例。标签在其显示区域中垂直居中。
      参数:
      image - 标签要显示的图像。
      horizontalAlignment - SwingConstants 中定义的以下常量之一:LEFTCENTERRIGHTLEADINGTRAILING
    • JLabel

      public JLabel(Icon  image)
      使用指定图像创建一个 JLabel 实例。标签在其显示区域中垂直和水平居中。
      参数:
      image - 标签要显示的图像。
    • JLabel

      public JLabel()
      创建一个没有图像且标题为空字符串的 JLabel 实例。标签在其显示区域中垂直居中。标签的内容一旦设置,将显示在标签显示区域的前缘。
  • 方法详情

    • getUI

      public LabelUI  getUI()
      返回呈现此组件的 L&F 对象。
      重写:
      getUI 在类 JComponent
      返回:
      LabelUI 对象
    • setUI

      @BeanProperty (hidden =true, visualUpdate =true, description ="The UI object that implements the Component\'s LookAndFeel.") public void setUI(LabelUI  ui)
      设置呈现此组件的 L&F 对象。
      参数:
      ui - LabelUI L&F 对象
      参见:
    • updateUI

      public void updateUI()
      将 UI 属性重置为当前外观的值。
      重写:
      updateUI 在类 JComponent
      参见:
    • getUIClassID

      @BeanProperty (bound =false) public String  getUIClassID()
      返回一个字符串,该字符串指定呈现此组件的 l&f 类的名称。
      重写:
      getUIClassID 在类 JComponent
      返回:
      字符串“LabelUI”
      参见:
    • getText

      public String  getText()
      返回标签显示的文本字符串。
      返回:
      一个字符串
      参见:
    • setText

      @BeanProperty (preferred =true, visualUpdate =true, description ="Defines the single line of text this component will display.") public void setText(String  text)
      定义此组件将显示的单行文本。如果 text 的值为 null 或空字符串,则不显示任何内容。

      此属性的默认值为 null。

      这是一个 JavaBeans 绑定属性。

      参数:
      text - 该组件将显示的单行文本
      参见:
    • getIcon

      public Icon  getIcon()
      返回标签显示的图形图像(字形、图标)。
      返回:
      一个图标
      参见:
    • setIcon

      @BeanProperty (preferred =true, visualUpdate =true, description ="The icon this component will display.") public void setIcon(Icon  icon)
      定义此组件将显示的图标。如果 icon 的值为 null,则不显示任何内容。

      此属性的默认值为 null。

      这是一个 JavaBeans 绑定属性。

      参数:
      icon - 该组件将显示的默认图标
      参见:
    • getDisabledIcon

      public Icon  getDisabledIcon()
      返回标签在禁用时使用的图标。如果未设置禁用图标,这会将调用转发给外观以构建适当的禁用图标。

      某些外观可能不会呈现禁用的图标,在这种情况下,它们将忽略它。

      返回:
      disabledIcon 属性
      参见:
    • setDisabledIcon

      @BeanProperty (visualUpdate =true, description ="The icon to display if the label is disabled.") public void setDisabledIcon(Icon  disabledIcon)
      如果此 JLabel 被“禁用”(JLabel.setEnabled(false)),则设置要显示的图标。

      此属性的默认值为 null。

      参数:
      disabledIcon - 禁用组件时显示的图标
      参见:
    • setDisplayedMnemonic

      @BeanProperty (visualUpdate =true, description ="The mnemonic keycode.") public void setDisplayedMnemonic(int key)
      指定表示助记键的键码。当标签是较大组件的一部分时使用此属性。如果标签的labelFor属性不为null,标签在激活助记词时会调用labelFor属性指定的组件的requestFocus方法。
      参数:
      key - 表示助记键的键码
      参见:
    • setDisplayedMnemonic

      public void setDisplayedMnemonic(char aChar)
      将显示的助记符指定为字符值。
      参数:
      aChar - 一个字符,指定要显示的助记符
      参见:
    • getDisplayedMnemonic

      public int getDisplayedMnemonic()
      返回表示助记键的键码。当标签是较大组件的一部分时使用此属性。如果标签的labelFor属性不为null,标签在激活助记词时会调用labelFor属性指定的组件的requestFocus方法。
      返回:
      助记键的int值
      参见:
    • setDisplayedMnemonicIndex

      @BeanProperty (visualUpdate =true, description ="the index into the String to draw the keyboard character mnemonic at") public void setDisplayedMnemonicIndex(int index) throws IllegalArgumentException
      提供有关应修饰文本中的哪个字符以表示助记符的外观提示。并非所有外观都支持这一点。值为-1 表示没有助记词,字符串中不包含助记符字符,或者开发人员不希望显示助记词。

      this 的值随着与助记符相关的属性(例如助记符本身、文本...)的变化而更新。如果您不希望为默认字符加下划线,则只应调用此方法。例如,如果文本为“另存为”,助记符为“a”,而您希望修饰“A”,如“保存”As',您必须在调用 setDisplayedMnemonic(KeyEvent.VK_A) 之后调用 setDisplayedMnemonicIndex(5)

      参数:
      index - 要下划线的字符串索引
      抛出:
      IllegalArgumentException - 如果 index >= 文本长度,或者 < -1,将被抛出
      自从:
      1.4
    • getDisplayedMnemonicIndex

      public int getDisplayedMnemonicIndex()
      返回作为索引的字符,外观应该为其提供装饰以表示助记字符。
      返回:
      代表助记符的索引
      自从:
      1.4
      参见:
    • checkHorizontalKey

      protected int checkHorizontalKey(int key, String  message)
      验证 key 是 horizontalAlignment 属性的合法值。
      参数:
      key - 要检查的属性值
      message - IllegalArgumentException 详细消息
      返回:
      如果 key 是 horizontalAlignment 属性的合法值,则为键值
      抛出:
      IllegalArgumentException - 如果键不是 LEFT、CENTER、RIGHT、LEADING 或 TRAILING。
      参见:
    • checkVerticalKey

      protected int checkVerticalKey(int key, String  message)
      验证 key 是 verticalAlignment 或 verticalTextPosition 属性的合法值。
      参数:
      key - 要检查的属性值
      message - IllegalArgumentException 详细消息
      返回:
      如果 key 是 verticalAlignment 或 verticalTextPosition 属性的合法值,则为键值
      抛出:
      IllegalArgumentException - 如果键不是 TOP、CENTER 或 BOTTOM。
      参见:
    • getIconTextGap

      public int getIconTextGap()
      返回此标签中显示的文本和图标之间的间距量。
      返回:
      一个等于文本和图标之间的像素数的 int。
      参见:
    • setIconTextGap

      @BeanProperty (visualUpdate =true, description ="If both the icon and text properties are set, this property defines the space between them.") public void setIconTextGap(int iconTextGap)
      如果同时设置了 icon 和 text 属性,则此属性定义它们之间的空间。

      此属性的默认值为 4 像素。

      这是一个 JavaBeans 绑定属性。

      参数:
      iconTextGap - 图标和文本属性之间的空间
      参见:
    • getVerticalAlignment

      public int getVerticalAlignment()
      返回标签内容沿 Y 轴的对齐方式。
      返回:
      verticalAlignment 属性的值,是 SwingConstants 中定义的以下常量之一:TOPCENTERBOTTOM
      参见:
    • setVerticalAlignment

      @BeanProperty (visualUpdate =true, enumerationValues ={"SwingConstants.TOP","SwingConstants.CENTER","SwingConstants.BOTTOM"}, description ="The alignment of the label\'s contents along the Y axis.") public void setVerticalAlignment(int alignment)
      设置标签内容沿 Y 轴的对齐方式。

      此属性的默认值为 CENTER。

      参数:
      alignment - SwingConstants 中定义的以下常量之一:TOPCENTER(默认值)或 BOTTOM
      参见:
    • getHorizontalAlignment

      public int getHorizontalAlignment()
      返回标签内容沿 X 轴的对齐方式。
      返回:
      horizontalAlignment 属性的值,是 SwingConstants 中定义的以下常量之一:LEFTCENTERRIGHTLEADINGTRAILING
      参见:
    • setHorizontalAlignment

      @BeanProperty (visualUpdate =true, enumerationValues ={"SwingConstants.LEFT","SwingConstants.CENTER","SwingConstants.RIGHT","SwingConstants.LEADING","SwingConstants.TRAILING"}, description ="The alignment of the label\'s content along the X axis.") public void setHorizontalAlignment(int alignment)
      设置标签内容沿 X 轴的对齐方式。

      这是一个 JavaBeans 绑定属性。

      参数:
      alignment - SwingConstants 中定义的以下常量之一:LEFTCENTER(仅图像标签的默认值)、RIGHTLEADING(仅文本标签的默认值)或 TRAILING
      参见:
    • getVerticalTextPosition

      public int getVerticalTextPosition()
      返回标签文本相对于其图像的垂直位置。
      返回:
      SwingConstants 中定义的以下常量之一:TOPCENTERBOTTOM
      参见:
    • setVerticalTextPosition

      @BeanProperty (expert =true, visualUpdate =true, enumerationValues ={"SwingConstants.TOP","SwingConstants.CENTER","SwingConstants.BOTTOM"}, description ="The vertical position of the text relative to it\'s image.") public void setVerticalTextPosition(int textPosition)
      设置标签文本相对于其图像的垂直位置。

      此属性的默认值为 CENTER。

      这是一个 JavaBeans 绑定属性。

      参数:
      textPosition - SwingConstants 中定义的以下常量之一:TOPCENTER(默认值)或 BOTTOM
      参见:
    • getHorizontalTextPosition

      public int getHorizontalTextPosition()
      返回标签文本相对于其图像的水平位置。
      返回:
      SwingConstants 中定义的以下常量之一:LEFTCENTERRIGHTLEADINGTRAILING
      参见:
    • setHorizontalTextPosition

      @BeanProperty (expert =true, visualUpdate =true, enumerationValues ={"SwingConstants.LEFT","SwingConstants.CENTER","SwingConstants.RIGHT","SwingConstants.LEADING","SwingConstants.TRAILING"}, description ="The horizontal position of the label\'s text, relative to its image.") public void setHorizontalTextPosition(int textPosition)
      设置标签文本相对于其图像的水平位置。
      参数:
      textPosition - SwingConstants 中定义的以下常量之一:LEFTCENTERRIGHTLEADINGTRAILING(默认值)。
      参见:
    • imageUpdate

      public boolean imageUpdate(Image  img, int infoflags, int x, int y, int w, int h)
      如果组件未显示或者图标或禁用图标不是 ImageIconImage 等于传入的 Image ,则返回 false ;否则它将委托给超类。
      指定者:
      imageUpdate 在接口 ImageObserver
      重写:
      imageUpdate 在类 Component
      参数:
      img - 要比较的 Image
      infoflags - 用于在更新图像时重新绘制标签并确定要绘制多少的标志
      x - x 坐标
      y - y 坐标
      w - 宽度
      h - 高度
      返回:
      false 如果信息标志表明图像已完全加载; true否则。
      参见:
    • paramString

      protected String  paramString()
      返回此 JLabel 的字符串表示形式。此方法仅用于调试目的,返回字符串的内容和格式可能因实现而异。返回的字符串可能为空,但可能不是 null
      重写:
      paramString 在类 JComponent
      返回:
      此 JLabel 的字符串表示形式。
    • getLabelFor

      public Component  getLabelFor()
      获取正在标记的组件。
      返回:
      这是标记的组件。如果这不标记组件,则可以为 null。如果设置了 displayedMnemonic 属性,同时设置了 labelFor 属性,当助记词激活时,标签会调用 labelFor 属性指定的组件的 requestFocus 方法。
      参见:
    • setLabelFor

      @BeanProperty (description ="The component this is labelling.") public void setLabelFor(Component  c)
      设置这是标签的组件。如果这不标记组件,则可以为 null。如果设置了 displayedMnemonic 属性,同时设置了 labelFor 属性,当助记词激活时,标签会调用 labelFor 属性指定的组件的 requestFocus 方法。
      参数:
      c - 此标签所属的组件,如果标签不是组件的标签,则为 null
      参见:
    • getAccessibleContext

      @BeanProperty (bound =false, expert =true, description ="The AccessibleContext associated with this Label.") public AccessibleContext  getAccessibleContext()
      获取此对象的 AccessibleContext
      指定者:
      getAccessibleContext 在接口 Accessible
      重写:
      getAccessibleContext 在类 Component
      返回:
      此对象的 AccessibleContext