Class Label

  • All Implemented Interfaces:
    Layout

    public class Label
    extends Widget
    A text label, with optional word wrapping.

    The preferred size of the label is determined by the actual text bounds, unless word wrap is enabled.

    • Constructor Detail

      • Label

        public Label​(@Null
                     java.lang.CharSequence text,
                     Skin skin)
      • Label

        public Label​(@Null
                     java.lang.CharSequence text,
                     Skin skin,
                     java.lang.String styleName)
      • Label

        public Label​(@Null
                     java.lang.CharSequence text,
                     Skin skin,
                     java.lang.String fontName,
                     Color color)
        Creates a label, using a Label.LabelStyle that has a BitmapFont with the specified name from the skin and the specified color.
      • Label

        public Label​(@Null
                     java.lang.CharSequence text,
                     Skin skin,
                     java.lang.String fontName,
                     java.lang.String colorName)
        Creates a label, using a Label.LabelStyle that has a BitmapFont with the specified name and the specified color from the skin.
    • Method Detail

      • setText

        public boolean setText​(int value)
        Sets the text to the specified integer value. If the text is already equivalent to the specified value, a string is not allocated.
        Returns:
        true if the text was changed.
      • setText

        public void setText​(@Null
                            java.lang.CharSequence newText)
        Parameters:
        newText - If null, "" will be used.
      • textEquals

        public boolean textEquals​(java.lang.CharSequence other)
      • invalidate

        public void invalidate()
        Description copied from interface: Layout
        Invalidates this actor's layout, causing Layout.layout() to happen the next time Layout.validate() is called. This method should be called when state changes in the actor that requires a layout but does not change the minimum, preferred, maximum, or actual size of the actor (meaning it does not affect the parent actor's layout).
        Specified by:
        invalidate in interface Layout
        Overrides:
        invalidate in class Widget
      • computePrefSize

        protected void computePrefSize​(GlyphLayout layout)
      • layout

        public void layout()
        Description copied from interface: Layout
        Computes and caches any information needed for drawing and, if this actor has children, positions and sizes each child, calls Layout.invalidate() on any each child whose width or height has changed, and calls Layout.validate() on each child. This method should almost never be called directly, instead Layout.validate() should be used.
        Specified by:
        layout in interface Layout
        Overrides:
        layout in class Widget
      • draw

        public void draw​(Batch batch,
                         float parentAlpha)
        Description copied from class: Widget
        If this method is overridden, the super method or Widget.validate() should be called to ensure the widget is laid out.
        Overrides:
        draw in class Widget
        parentAlpha - The parent alpha, to be multiplied with this actor's alpha, allowing the parent's alpha to affect all children.
      • setWrap

        public void setWrap​(boolean wrap)
        If false, the text will only wrap where it contains newlines (\n). The preferred size of the label will be the text bounds. If true, the text will word wrap using the width of the label. The preferred width of the label will be 0, it is expected that something external will set the width of the label. Wrapping will not occur when ellipsis is enabled. Default is false.

        When wrap is enabled, the label's preferred height depends on the width of the label. In some cases the parent of the label will need to layout twice: once to set the width of the label and a second time to adjust to the label's new preferred height.

      • getWrap

        public boolean getWrap()
      • getLabelAlign

        public int getLabelAlign()
      • getLineAlign

        public int getLineAlign()
      • setAlignment

        public void setAlignment​(int alignment)
        Parameters:
        alignment - Aligns all the text within the label (default left center) and each line of text horizontally (default left).
        See Also:
        Align
      • setAlignment

        public void setAlignment​(int labelAlign,
                                 int lineAlign)
        Parameters:
        labelAlign - Aligns all the text within the label (default left center).
        lineAlign - Aligns each line of text horizontally (default left).
        See Also:
        Align
      • setFontScale

        public void setFontScale​(float fontScale)
      • setFontScale

        public void setFontScale​(float fontScaleX,
                                 float fontScaleY)
      • getFontScaleX

        public float getFontScaleX()
      • setFontScaleX

        public void setFontScaleX​(float fontScaleX)
      • getFontScaleY

        public float getFontScaleY()
      • setFontScaleY

        public void setFontScaleY​(float fontScaleY)
      • setEllipsis

        public void setEllipsis​(@Null
                                java.lang.String ellipsis)
        When non-null the text will be truncated "..." if it does not fit within the width of the label. Wrapping will not occur when ellipsis is enabled. Default is false.
      • setEllipsis

        public void setEllipsis​(boolean ellipsis)
        When true the text will be truncated "..." if it does not fit within the width of the label. Wrapping will not occur when ellipsis is true. Default is false.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class Actor