Class SpanLabel

All Implemented Interfaces:
Animation, Editable, StyleListener, IconHolder, TextHolder, Iterable<Component>

public class SpanLabel extends Container implements IconHolder, TextHolder

A multi line label component that can be easily localized, this is simply based on a text area combined with a label.

SpanLabel d = new SpanLabel("Default SpanLabel that can seamlessly line break when the text is really long.");
d.setIcon(icon);
SpanLabel l = new SpanLabel("NORTH Positioned Icon SpanLabel that can seamlessly line break when the text is really long.");
l.setIcon(icon);
l.setIconPosition(BorderLayout.NORTH);
SpanLabel r = new SpanLabel("SOUTH Positioned Icon SpanLabel that can seamlessly line break when the text is really long.");
r.setIcon(icon);
r.setIconPosition(BorderLayout.SOUTH);
SpanLabel c = new SpanLabel("EAST Positioned Icon SpanLabel that can seamlessly line break when the text is really long.");
c.setIcon(icon);
c.setIconPosition(BorderLayout.EAST);
hi.add(d).add(l).add(r).add(c);
  • Constructor Details

    • SpanLabel

      public SpanLabel()
      Default constructor will be useful when adding this to the GUI builder
    • SpanLabel

      public SpanLabel(String txt, String textUiid)

      Constructor accepting default text and uiid for the text

      Parameters
      • txt: the text

      • textUiid: the new text UIID

    • SpanLabel

      public SpanLabel(String txt)
      Constructor accepting default text
  • Method Details

    • styleChanged

      public void styleChanged(String propertyName, Style source)
      Description copied from class: Component

      Invoked to indicate a change in a propertyName of a Style

      NOTE By default this will trigger a call to Container#revalidate() on the parent container, which is expensive. You can disable this behavior by calling CN.setProperty("Component.revalidateOnStyleChange", "false"). The intention is to change this behavior so that the default is to "not" revalidate on style change, so we encourage you to set this to "false" to ensure for future compatibility.

      Parameters
      • propertyName: the property name that was changed

      • source: The changed Style object

      Specified by:
      styleChanged in interface StyleListener
      Overrides:
      styleChanged in class Component
    • initUnselectedStyle

      protected void initUnselectedStyle(Style unselectedStyle)
      Description copied from class: Component

      Can be overridden by subclasses to perform initialization when the unselected style is set to a new value.

      Parameters
      • unselectedStyle: The unselected style.
      Since

      8.0

      Overrides:
      initUnselectedStyle in class Component
    • initLaf

      protected void initLaf(UIManager uim)
      Description copied from class: Container
      This method initializes the Component defaults constants
      Overrides:
      initLaf in class Container
    • getPreferredW

      public int getPreferredW()

      Helper method to retrieve the preferred width of the component.

      Returns

      preferred width of the component

      See also
      • #getPreferredSize
      Overrides:
      getPreferredW in class Component
    • setPreferredW

      public void setPreferredW(int preferredW)

      Helper method to set the preferred width of the component.

      Parameters
      • preferredW: the preferred width of the component
      Deprecated
      Overrides:
      setPreferredW in class Component
    • getIconStyleComponent

      public Component getIconStyleComponent()

      Gets the component used for styling font icons on this SpanLabel.

      Returns

      The component used for styling font icons on this SpanLabel.

      Since

      7.0

      Specified by:
      getIconStyleComponent in interface IconHolder
    • getTextComponent

      public TextArea getTextComponent()

      Returns the TextArea holding the actual text

      Returns

      the component

    • setUIID

      public void setUIID(String id)
      Description copied from class: Component

      This method sets the Component the Unique identifier. This method should be used before a component has been initialized

      Parameters
      • id: UIID unique identifier for component type
      Overrides:
      setUIID in class Component
    • getTextUIID

      public String getTextUIID()

      Returns the uiid of the actual text

      Returns

      the uiid

    • setTextUIID

      public void setTextUIID(String uiid)

      Sets the UIID for the actual text

      Parameters
      • uiid: the uiid
    • getTextAllStyles

      public Style getTextAllStyles()

      Returns the Style proxy object for the text of this span button.

      Returns

      The Style object for the text of this span button.

    • getTextUnselectedStyle

      public Style getTextUnselectedStyle()

      Returns the text elements style object

      Returns

      the style object

    • setTextUnselectedStyle

      public void setTextUnselectedStyle(Style t)

      The text elements style object

      Parameters
      • t: the style object
    • getTextSelectedStyle

      public Style getTextSelectedStyle()

      Returns the text elements style object

      Returns

      the style object

    • setTextSelectedStyle

      public void setTextSelectedStyle(Style t)

      The text elements style object

      Parameters
      • t: the style object
    • getIconUIID

      public String getIconUIID()

      Returns the UIID for the icon

      Returns

      the uiid

      Specified by:
      getIconUIID in interface IconHolder
    • setIconUIID

      public void setIconUIID(String uiid)

      Sets the uiid for the icon if present

      Parameters
      • uiid: the uiid for the icon
      Specified by:
      setIconUIID in interface IconHolder
    • getIconValign

      public int getIconValign()

      Gets the vertical alignment of the icon with respect to the text of the span label.

      Returns

      The alignment. One of #TOP, #BOTTOM, or #CENTER.

      Since

      7.0

    • setIconValign

      public void setIconValign(int align)

      Sets the vertical alignment of the icon with respect to the text of the span label. Default value is #CENTER

      Parameters
      • align: One of #TOP, #BOTTOM, or #CENTER.
      Since

      7.0

    • getText

      public String getText()

      Returns the text of the label

      Returns

      the text

      Specified by:
      getText in interface TextHolder
    • setText

      public void setText(String t)

      Set the text of the label

      Parameters
      • t: text of the label
      Specified by:
      setText in interface TextHolder
    • getTextBlockAlign

      public int getTextBlockAlign()

      Returns the alignment of the whole text block and not the text within it!

      Returns

      -1 for unaligned otherwise one of Component.LEFT/RIGHT/CENTER

    • setTextBlockAlign

      public void setTextBlockAlign(int align)

      Indicates the alignment of the whole text block, this is different from setting the alignment of the text within the block since the UIID might have a border or other design element that won't be affected by such alignment. The default is none (-1) which means no alignment takes place and the text block takes the whole width.

      Parameters
      • align: @param align valid values are Component.LEFT, Component.RIGHT, Component.CENTER. Anything else will stretch the text block
    • getIcon

      public Image getIcon()

      Returns the image of the icon

      Returns

      the icon

      Specified by:
      getIcon in interface IconHolder
    • setIcon

      public void setIcon(Image i)

      Sets the icon for the label

      Parameters
      • i: the icon
      Specified by:
      setIcon in interface IconHolder
    • getIconPosition

      public String getIconPosition()

      Returns the icon position based on border layout constraints

      Returns

      position either North/South/East/West

    • setIconPosition

      public void setIconPosition(String t)

      Sets the icon position based on border layout constraints

      Parameters
      • t: position either North/South/East/West
    • getPropertyNames

      public String[] getPropertyNames()

      A component may expose mutable property names for a UI designer to manipulate, this API is designed for usage internally by the GUI builder code

      Returns

      the property names allowing mutation

      Overrides:
      getPropertyNames in class Component
    • getPropertyTypes

      public Class[] getPropertyTypes()

      Matches the property names method (see that method for further details).

      Returns

      the types of the properties

      Overrides:
      getPropertyTypes in class Component
    • getPropertyTypeNames

      public String[] getPropertyTypeNames()

      This method is here to workaround an XMLVM array type bug where property types aren't identified properly, it returns the names of the types using the following type names: String,int,double,long,byte,short,char,String[],String[][],byte[],Image,Image[],Object[],ListModel,ListCellRenderer

      Returns

      Array of type names

      Overrides:
      getPropertyTypeNames in class Component
    • getPropertyValue

      public Object getPropertyValue(String name)

      Returns the current value of the property name, this method is used by the GUI builder

      Parameters
      • name: the name of the property
      Returns

      the value of said property

      Overrides:
      getPropertyValue in class Component
    • setPropertyValue

      public String setPropertyValue(String name, Object value)

      Sets a new value to the given property, returns an error message if failed and null if successful. Notice that some builtin properties such as "$designMode" might be sent to components to indicate application state.

      Parameters
      • name: the name of the property

      • value: new value for the property

      Returns

      error message or null

      Overrides:
      setPropertyValue in class Component
    • isShouldLocalize

      public boolean isShouldLocalize()

      Indicates if text should be localized when set to the component, by default all text is localized so this allows disabling automatic localization for a specific component.

      Returns

      the shouldLocalize value

    • setShouldLocalize

      public void setShouldLocalize(boolean shouldLocalize)

      Indicates if text should be localized when set to the component, by default all text is localized so this allows disabling automatic localization for a specific component.

      Parameters
      • shouldLocalize: the shouldLocalize to set
    • isTextSelectionEnabled

      public boolean isTextSelectionEnabled()

      Checks if text selection is enabled on this SpanLabel. Note that the Form must also have text selection enabled for text selection to work.

      Returns

      True if text selection is enabled on this element.

      Since

      7.0

      See also
      • Form#getTextSelection()

      • TextSelection#setEnabled(boolean)

    • setTextSelectionEnabled

      public void setTextSelectionEnabled(boolean enabled)

      Enables or disables text selection on this span label. Default is off.

      Parameters
      • enabled: True to enable text selection on this label.
      Since

      7.0

    • setWidth

      public void setWidth(int width)

      Sets the Component width, this method is exposed for the purpose of external layout managers and should not be invoked directly.

      If a user wishes to affect the component size, setPreferredSize should be used.

      Parameters
      • width: the width of the component
      See also
      • #setPreferredSize
      Overrides:
      setWidth in class Component
    • getGap

      public int getGap()

      Returns the gap in pixels between the icon/text to the Label boundaries

      Returns

      the gap in pixels between the icon/text to the Label boundaries

      Since

      7.0

      Specified by:
      getGap in interface IconHolder
    • setGap

      public void setGap(int gap)

      Set the gap in pixels between the icon/text to the Label boundaries

      Parameters
      • gap: the gap in pixels
      Since

      7.0

      Specified by:
      setGap in interface IconHolder
    • getTextPosition

      public int getTextPosition()

      Returns The position of the text relative to the icon

      Returns

      The position of the text relative to the icon, one of: LEFT, RIGHT, BOTTOM, TOP

      See also
      • #LEFT

      • #RIGHT

      • #BOTTOM

      • #TOP

      Since

      7.0

      Specified by:
      getTextPosition in interface IconHolder
    • setTextPosition

      public void setTextPosition(int textPosition)

      Sets the position of the text relative to the icon if exists

      Parameters
      • textPosition: alignment value (LEFT, RIGHT, BOTTOM or TOP)
      See also
      • #LEFT

      • #RIGHT

      • #BOTTOM

      • #TOP

      Since

      7.0

      Specified by:
      setTextPosition in interface IconHolder
    • setFontIcon

      public void setFontIcon(Font font, char c)

      This method is shorthand for com.codename1.ui.Font, char)

      Parameters
      • c: one of the constants from the font
    • setMaterialIcon

      public void setMaterialIcon(char c, float size)

      This method is shorthand for char, float)

      Parameters
      • c: one of the constants from com.codename1.ui.FontImage

      • size: the size of the icon in millimeters

      Specified by:
      setMaterialIcon in interface IconHolder
    • setFontIcon

      public void setFontIcon(Font font, char c, float size)

      This method is shorthand for com.codename1.ui.Font, char, float)

      Parameters
      • c: one of the constants from the font

      • size: the size of the icon in millimeters

      Specified by:
      setFontIcon in interface IconHolder
    • getMaterialIcon

      public char getMaterialIcon()

      Returns the material icon assigned to this component or 0 if not applicable

      Returns

      the material icon

    • setMaterialIcon

      public void setMaterialIcon(char c)

      This method is shorthand for char)

      Parameters
      • c: one of the constants from com.codename1.ui.FontImage
    • getFontIcon

      public char getFontIcon()

      Returns the font icon assigned to this component or 0 if not applicable

      Returns

      the material icon

    • getMaterialIconSize

      public float getMaterialIconSize()

      Returns the material icon size assigned to this component or 0/-1 if not applicable

      Returns

      the material icon size

    • getFontIconSize

      public float getFontIconSize()

      Returns the icon size assigned to this component or 0/-1 if not applicable

      Returns

      the icon size

    • getIconFont

      public Font getIconFont()

      Returns the font for the icon font or null if not font set

      Returns

      the material icon size