Module  java.desktop
软件包  javax.swing

Class JLabel

  • All Implemented Interfaces:
    ImageObserverMenuContainerSerializableAccessibleSwingConstants
    已知直接子类:
    BasicComboBoxRendererDefaultListCellRendererDefaultTableCellRendererDefaultTreeCellRenderer


    @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像素。

    有关更多文档,请参阅Java教程中的 How to Use Labels

    警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy

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

    从以下版本开始:
    1.2
    另请参见:
    Serialized Form
    • 字段详细信息

      • labelFor

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

      • JLabel

        public JLabel​(String text,
                      Icon icon,
                      int horizontalAlignment)
        使用指定的文本,图像和水平对齐创建一个JLabel实例。 标签在其显示区域中垂直居中。 该文本位于图像的后端。
        参数
        text - 要由标签显示的文本。
        icon - 要由标签显示的图像。
        horizontalAlignment -一个中所定义的以下常量 SwingConstantsLEFTCENTERRIGHTLEADINGTRAILING
      • JLabel

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

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

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

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

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

      • getUI

        public LabelUI getUI​()
        返回渲染此组件的L&F对象。
        重写:
        getUIJComponent
        结果
        LabelUI对象
      • getIcon

        public Icon getIcon​()
        返回标签显示的图形图像(字形,图标)。
        结果
        一个图标
        另请参见:
        setIcon(javax.swing.Icon)
      • setDisplayedMnemonic

        @BeanProperty(visualUpdate=true,
                      description="The mnemonic keycode.")
        public void setDisplayedMnemonic​(int key)
        指定一个指示助记键的键码。 当标签是较大组件的一部分时使用此属性。 如果标签的labelFor属性不为空,则当助记符被激活时,标签将调用由labelFor属性指定的组件的requestFocus方法。
        参数
        key - 表示助记键的键码
        另请参见:
        getLabelFor()setLabelFor(java.awt.Component)
      • setDisplayedMnemonic

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

        public int getDisplayedMnemonic​()
        返回指示助记键的键码。 当标签是较大组件的一部分时使用此属性。 如果标签的labelFor属性不为空,则当助记符被激活时,标签将调用由labelFor属性指定的组件的requestFocus方法。
        结果
        记忆键的int值
        另请参见:
        getLabelFor()setLabelFor(java.awt.Component)
      • 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表示没有助记符,助记符字符不包含在字符串中,或开发人员不希望显示助记符。

        这个值被更新为与助记符变化相关的属性(如助记符本身,文本...)。 如果您不希望默认字符被加下划线,您应该只需要调用它。 例如,如果文本为“另存为”,使用助记符为“a”,并且您想要将“A”装饰为“保存A ”,则在调用setDisplayedMnemonicIndex(5)后,您必须调用setDisplayedMnemonic(KeyEvent.VK_A)

        参数
        index - 索引到字符串下划线
        异常
        IllegalArgumentException - 如果 index是> =文本的长度,或<-1
        从以下版本开始:
        1.4
      • getDisplayedMnemonicIndex

        public int getDisplayedMnemonicIndex​()
        返回字符,作为索引,外观和感觉应提供装饰用于表示助记符。
        结果
        索引表示助记符号
        从以下版本开始:
        1.4
        另请参见:
        setDisplayedMnemonicIndex(int)
      • checkHorizontalKey

        protected int checkHorizontalKey​(int key,
                                         String message)
        验证该键是horizontalAlignment属性的合法值。
        参数
        key - 要检查的属性值
        message - IllegalArgumentException详细信息
        结果
        key的关键值是horizontalAlignment属性的合法值
        异常
        IllegalArgumentException - 如果键不是左,中,右,引导或跟踪。
        另请参见:
        setHorizontalTextPosition(int)setHorizontalAlignment(int)
      • checkVerticalKey

        protected int checkVerticalKey​(int key,
                                       String message)
        验证该键是verticalAlignment或verticalTextPosition属性的合法值。
        参数
        key - 要检查的属性值
        message - IllegalArgumentException详细消息
        结果
        key是verticalAlignment或verticalTextPosition属性的合法值
        异常
        IllegalArgumentException - 如果键不是TOP,CENTER或BOTTOM。
        另请参见:
        setVerticalAlignment(int)setVerticalTextPosition(int)
      • getIconTextGap

        public int getIconTextGap​()
        返回文本与此标签中显示的图标之间的空间量。
        结果
        int等于文本和图标之间的像素数。
        另请参见:
        setIconTextGap(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)
        如果设置了图标和文本属性,则此属性定义它们之间的空格。

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

        这是一个JavaBeans绑定属性。

        参数
        iconTextGap - 图标和文本属性之间的空间
        另请参见:
        getIconTextGap()
      • getVerticalAlignment

        public int getVerticalAlignment​()
        返回标签内容沿着Y轴的对齐方式。
        结果
        的verticalAlignment属性,在定义的以下常量中的一个的值 SwingConstantsTOPCENTER ,或 BOTTOM
        另请参见:
        SwingConstantssetVerticalAlignment(int)
      • 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 -一个中所定义的以下常量 SwingConstantsTOPCENTER (缺省值),或者 BOTTOM
        另请参见:
        SwingConstantsgetVerticalAlignment()
      • getHorizontalAlignment

        public int getHorizontalAlignment​()
        返回标签内容沿X轴的对齐方式。
        结果
        的HorizontalAlignment属性的值,在定义的以下常量之一 SwingConstantsLEFTCENTERRIGHTLEADINGTRAILING
        另请参见:
        setHorizontalAlignment(int)SwingConstants
      • 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 -一个中所定义的以下常量 SwingConstantsLEFTCENTER (默认只显示图像的标签), RIGHTLEADING (默认为纯文本的标记),或者 TRAILING
        另请参见:
        SwingConstantsgetHorizontalAlignment()
      • getVerticalTextPosition

        public int getVerticalTextPosition​()
        返回标签相对于其图像的文本的垂直位置。
        结果
        一个中所定义的以下常量 SwingConstantsTOPCENTER ,或 BOTTOM
        另请参见:
        setVerticalTextPosition(int)SwingConstants
      • 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 -一个中所定义的以下常量 SwingConstantsTOPCENTER (缺省值),或者 BOTTOM
        另请参见:
        SwingConstantsgetVerticalTextPosition()
      • getHorizontalTextPosition

        public int getHorizontalTextPosition​()
        返回标签相对于其图像的文本的水平位置。
        结果
        一个中所定义的以下常量 SwingConstantsLEFTCENTERRIGHTLEADINGTRAILING
        另请参见:
        SwingConstants
      • 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 -一个中所定义的以下常量 SwingConstantsLEFTCENTERRIGHTLEADING ,或 TRAILING (缺省值)。
        另请参见:
        SwingConstants
      • paramString

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

        public Component getLabelFor​()
        获取此标签的组件。
        结果
        组件这是标签。 如果没有标记组件,则可以为null。 如果设置了显示的助记符属性并设置了labelFor属性,那么当助记符被激活时,标签将调用由labelFor属性指定的组件的requestFocus方法。
        另请参见:
        getDisplayedMnemonic()setDisplayedMnemonic(int)
      • setLabelFor

        @BeanProperty(description="The component this is labelling.")
        public void setLabelFor​(Component c)
        设置标签的组件。 如果没有标记组件,则可以为null。 如果设置了显示的助记符属性并设置了labelFor属性,那么当助记符被激活时,标签将调用由labelFor属性指定的组件的requestFocus方法。
        参数
        c - 此标签所用的组件,如果标签不是组件的标签,则为null
        另请参见:
        getDisplayedMnemonic()setDisplayedMnemonic(int)