Class Label

All Implemented Interfaces:
HasAttachHandlers, HasHandlers, EventListener, HasVisibility, IsWidget, LogicalStructure, HasClearHandlers, HasClickHandlers, HasDoubleClickHandlers, HasDragMoveHandlers, HasDragRepositionMoveHandlers, HasDragRepositionStartHandlers, HasDragRepositionStopHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasDropHandlers, HasDropMoveHandlers, HasDropOutHandlers, HasDropOverHandlers, HasFocusChangedHandlers, HasHoverHandlers, HasHoverHiddenHandlers, HasIconClickHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseStillDownHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasMovedHandlers, HasParentMovedHandlers, HasResizedHandlers, HasRightMouseDownHandlers, HasRuleContextChangedHandlers, HasScrolledHandlers, HasShowContextMenuHandlers, HasTitleHoverHandlers, HasVisibilityChangedHandlers
Direct Known Subclasses:
SectionHeader, ViewLoader

public class Label extends Button
Labels display a small amount of alignable text with optional icon and autoFit.

For a general-purpose container for HTML content, use HTMLFlow or HTMLPane instead.

  • Constructor Details

  • Method Details

    • getOrCreateRef

      public static Label getOrCreateRef(JavaScriptObject jsObj)
    • changeAutoChildDefaults

      public static void changeAutoChildDefaults(String autoChildName, Canvas defaults)
      Changes the defaults for Canvas AutoChildren named autoChildName.
      Parameters:
      autoChildName - name of an AutoChild to customize the defaults for.
      defaults - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see SGWTProperties.
      See Also:
    • changeAutoChildDefaults

      public static void changeAutoChildDefaults(String autoChildName, FormItem defaults)
      Changes the defaults for FormItem AutoChildren named autoChildName.
      Parameters:
      autoChildName - name of an AutoChild to customize the defaults for.
      defaults - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see SGWTProperties.
      See Also:
    • create

      protected JavaScriptObject create()
      Overrides:
      create in class Button
    • setAlign

      public Label setAlign(Alignment align)
      Horizontal alignment of label text. See Alignment type for details.
      Overrides:
      setAlign in class Button
      Parameters:
      align - New align value. Default value is Canvas.LEFT
      Returns:
      Label instance, for chaining setter calls
      See Also:
    • getAlign

      public Alignment getAlign()
      Horizontal alignment of label text. See Alignment type for details.
      Overrides:
      getAlign in class Button
      Returns:
      Current align value. Default value is Canvas.LEFT
      See Also:
    • setAutoFit

      public Label setAutoFit(Boolean autoFit)
      If true, ignore the specified size of this widget and always size just large enough to accommodate the title. If setWidth() is explicitly called on an autoFit:true button, autoFit will be reset to false.

      Note that for StretchImgButton instances, autoFit will occur horizontally only, as unpredictable vertical sizing is likely to distort the media. If you do want vertical auto-fit, this can be achieved by simply setting a small height, and having overflow:"visible"

      Overrides:
      setAutoFit in class Button
      Parameters:
      autoFit - New autoFit value. Default value is null
      Returns:
      Label instance, for chaining setter calls
      See Also:
    • getAutoFit

      public Boolean getAutoFit()
      If true, ignore the specified size of this widget and always size just large enough to accommodate the title. If setWidth() is explicitly called on an autoFit:true button, autoFit will be reset to false.

      Note that for StretchImgButton instances, autoFit will occur horizontally only, as unpredictable vertical sizing is likely to distort the media. If you do want vertical auto-fit, this can be achieved by simply setting a small height, and having overflow:"visible"

      Overrides:
      getAutoFit in class Button
      Returns:
      Current autoFit value. Default value is null
      See Also:
    • setContents

      public Label setContents(String contents)
      The contents of a canvas or label widget. Any HTML string is acceptable.

      If this method is called after the component has been drawn/initialized: Changes the contents of a widget to newContents, an HTML string.

      When dynamicContents is set, setContents() can also be called with no arguments to cause contents to be re-evaluated.

      Overrides:
      setContents in class Canvas
      Parameters:
      contents - an HTML string to be set as the contents of this widget. Default value is " "
      Returns:
      Label instance, for chaining setter calls
      See Also:
    • getContents

      public String getContents()
      The contents of a canvas or label widget. Any HTML string is acceptable.
      Overrides:
      getContents in class Canvas
      Returns:
      Current contents value. Default value is " "
      See Also:
    • setDynamicContents

      public Label setDynamicContents(Boolean dynamicContents)
      Dynamic contents allows the contents string to be treated as a simple but powerful template. When this attribute is set to true, JavaScript expressions may be embedded within the contents string, using the format: ${[JavaScript to evaluate]}.

      For example, to include the current date in a templated message, canvas.contents could be set to:
      "Today's date is <b>${new Date().toUSShortDate()}</b>"

      Embedded expressions will be evaluated when the canvas is drawn or redrawn, and the result of the evaluated expression will be displayed to the user. If the expression does not evaluate to a String, the toString() representation of the returned object will be displayed automatically

      Dynamic expressions are evaluated in the scope of the canvas displaying the content, so the this keyword may be used within your expression to refer to the canvas. Developers may also explicitly supply values for variables to be used within the evaluation via the Canvas.dynamicContentsVars property.

      Notes:

      • Calling markForRedraw() on the canvas will evaluate any embedded expressions.
      • Multiple such expressions may be embedded within the contents string for a component.
      • If an error occurs during evaluation, a warning is logged to the Developer Console and the error string will be embedded in place of the expected value in the Canvas.

      Note : This is an advanced setting

      Overrides:
      setDynamicContents in class Canvas
      Parameters:
      dynamicContents - New dynamicContents value. Default value is false
      Returns:
      Label instance, for chaining setter calls
      See Also:
    • getDynamicContents

      public Boolean getDynamicContents()
      Dynamic contents allows the contents string to be treated as a simple but powerful template. When this attribute is set to true, JavaScript expressions may be embedded within the contents string, using the format: ${[JavaScript to evaluate]}.

      For example, to include the current date in a templated message, canvas.contents could be set to:
      "Today's date is <b>${new Date().toUSShortDate()}</b>"

      Embedded expressions will be evaluated when the canvas is drawn or redrawn, and the result of the evaluated expression will be displayed to the user. If the expression does not evaluate to a String, the toString() representation of the returned object will be displayed automatically

      Dynamic expressions are evaluated in the scope of the canvas displaying the content, so the this keyword may be used within your expression to refer to the canvas. Developers may also explicitly supply values for variables to be used within the evaluation via the Canvas.dynamicContentsVars property.

      Notes:

      • Calling markForRedraw() on the canvas will evaluate any embedded expressions.
      • Multiple such expressions may be embedded within the contents string for a component.
      • If an error occurs during evaluation, a warning is logged to the Developer Console and the error string will be embedded in place of the expected value in the Canvas.
      Overrides:
      getDynamicContents in class Canvas
      Returns:
      Current dynamicContents value. Default value is false
      See Also:
      • getContents()
      • com.smartgwt.client.widgets.Canvas#getDynamicContentsVars
    • setEditProxyConstructor

      public Label setEditProxyConstructor(String editProxyConstructor) throws IllegalStateException
      Default class used to construct the EditProxy for this component when the component is first placed into edit mode.
      Overrides:
      setEditProxyConstructor in class StatefulCanvas
      Parameters:
      editProxyConstructor - New editProxyConstructor value. Default value is "LabelEditProxy"
      Returns:
      Label instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getEditProxyConstructor

      public String getEditProxyConstructor()
      Default class used to construct the EditProxy for this component when the component is first placed into edit mode.
      Overrides:
      getEditProxyConstructor in class StatefulCanvas
      Returns:
      Current editProxyConstructor value. Default value is "LabelEditProxy"
      See Also:
    • setHeight

      public Label setHeight(Integer height)
      Size for this component's vertical dimension. See Canvas.height for more details.

      Note that if StatefulCanvas.autoFit is set on non-StretchImgButton instances, this property will be ignored so that the widget is always sized just large enough to accommodate the title.

      Overrides:
      setHeight in class Button
      Parameters:
      height - New height value. Default value is null
      Returns:
      Label instance, for chaining setter calls
      See Also:
    • getHeight

      public Integer getHeight()
      Size for this component's vertical dimension. See Canvas.height for more details.

      Note that if StatefulCanvas.autoFit is set on non-StretchImgButton instances, this property will be ignored so that the widget is always sized just large enough to accommodate the title.

      Overrides:
      getHeight in class Button
      Returns:
      Current height value. Default value is null
      See Also:
    • setHeight

      public void setHeight(String height)
      Size for this component's vertical dimension. See Canvas.height for more details.

      Note that if StatefulCanvas.autoFit is set on non-StretchImgButton instances, this property will be ignored so that the widget is always sized just large enough to accommodate the title.

      Overrides:
      setHeight in class Button
      Parameters:
      height - New height value. Default value is null
      See Also:
    • getHeightAsString

      public String getHeightAsString()
      Size for this component's vertical dimension. See Canvas.height for more details.

      Note that if StatefulCanvas.autoFit is set on non-StretchImgButton instances, this property will be ignored so that the widget is always sized just large enough to accommodate the title.

      Overrides:
      getHeightAsString in class Button
      Returns:
      Current height value. Default value is null
      See Also:
    • setIcon

      public Label setIcon(String icon)
      Optional icon to be shown with the button title text.

      Specify as the partial URL to an image, relative to the imgDir of this component. A sprited image can be specified using the SCSpriteConfig format.

      Note that the string "blank" is a valid setting for this attribute and will always result in the system blank image, with no state suffixes applied. Typically, this might be used when an iconStyle is also specified and the iconStyle renders the icon via a stateful background-image or other CSS approach.

      If this method is called after the component has been drawn/initialized: Change the icon being shown next to the title text.

      Overrides:
      setIcon in class Button
      Parameters:
      icon - URL of new icon. Default value is null
      Returns:
      Label instance, for chaining setter calls
      See Also:
    • getIcon

      public String getIcon()
      Optional icon to be shown with the button title text.

      Specify as the partial URL to an image, relative to the imgDir of this component. A sprited image can be specified using the SCSpriteConfig format.

      Note that the string "blank" is a valid setting for this attribute and will always result in the system blank image, with no state suffixes applied. Typically, this might be used when an iconStyle is also specified and the iconStyle renders the icon via a stateful background-image or other CSS approach.

      Overrides:
      getIcon in class Button
      Returns:
      Current icon value. Default value is null
      See Also:
    • setIconAlign

      public Label setIconAlign(String iconAlign) throws IllegalStateException
      If this button is showing an icon should it be right or left aligned?
      Overrides:
      setIconAlign in class Button
      Parameters:
      iconAlign - New iconAlign value. Default value is null
      Returns:
      Label instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getIconAlign

      public String getIconAlign()
      If this button is showing an icon should it be right or left aligned?
      Overrides:
      getIconAlign in class Button
      Returns:
      Current iconAlign value. Default value is null
      See Also:
    • setIconHeight

      public Label setIconHeight(Integer iconHeight) throws IllegalStateException
      Height in pixels of the icon image.

      If unset, defaults to iconSize.

      Overrides:
      setIconHeight in class Button
      Parameters:
      iconHeight - New iconHeight value. Default value is null
      Returns:
      Label instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getIconHeight

      public Integer getIconHeight()
      Height in pixels of the icon image.

      If unset, defaults to iconSize.

      Overrides:
      getIconHeight in class Button
      Returns:
      Current iconHeight value. Default value is null
      See Also:
    • setIconOrientation

      public Label setIconOrientation(String iconOrientation) throws IllegalStateException
      If this button is showing an icon should it appear to the left or right of the title? valid options are "left" and "right".

      If this method is called after the component has been drawn/initialized: Changes the orientation of the icon relative to the text of the button.
      Overrides:
      setIconOrientation in class Button
      Parameters:
      iconOrientation - The new orientation of the icon relative to the text of the button. Default value is "left"
      Returns:
      Label instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getIconOrientation

      public String getIconOrientation()
      If this button is showing an icon should it appear to the left or right of the title? valid options are "left" and "right".
      Overrides:
      getIconOrientation in class Button
      Returns:
      Current iconOrientation value. Default value is "left"
      See Also:
    • setIconSize

      public Label setIconSize(int iconSize) throws IllegalStateException
      Size in pixels of the icon image.

      The iconWidth and iconHeight properties can be used to configure width and height separately.

      Note: When configuring the properties of a StatefulCanvas (or derivative) AutoChild, it is best to set the iconWidth and iconHeight to the same value rather than setting an iconSize. This is because certain skins or customizations thereto might set the iconWidth and iconHeight, making the customization of the AutoChild's iconSize ineffective.

      Overrides:
      setIconSize in class Button
      Parameters:
      iconSize - New iconSize value. Default value is 16
      Returns:
      Label instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getIconSize

      public int getIconSize()
      Size in pixels of the icon image.

      The iconWidth and iconHeight properties can be used to configure width and height separately.

      Note: When configuring the properties of a StatefulCanvas (or derivative) AutoChild, it is best to set the iconWidth and iconHeight to the same value rather than setting an iconSize. This is because certain skins or customizations thereto might set the iconWidth and iconHeight, making the customization of the AutoChild's iconSize ineffective.

      Overrides:
      getIconSize in class Button
      Returns:
      Current iconSize value. Default value is 16
      See Also:
    • setIconSpacing

      public Label setIconSpacing(int iconSpacing) throws IllegalStateException
      Pixels between icon and title text.
      Overrides:
      setIconSpacing in class Button
      Parameters:
      iconSpacing - New iconSpacing value. Default value is 6
      Returns:
      Label instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getIconSpacing

      public int getIconSpacing()
      Pixels between icon and title text.
      Overrides:
      getIconSpacing in class Button
      Returns:
      Current iconSpacing value. Default value is 6
      See Also:
    • setIconWidth

      public Label setIconWidth(Integer iconWidth) throws IllegalStateException
      Width in pixels of the icon image.

      If unset, defaults to iconSize.

      Overrides:
      setIconWidth in class Button
      Parameters:
      iconWidth - New iconWidth value. Default value is null
      Returns:
      Label instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getIconWidth

      public Integer getIconWidth()
      Width in pixels of the icon image.

      If unset, defaults to iconSize.

      Overrides:
      getIconWidth in class Button
      Returns:
      Current iconWidth value. Default value is null
      See Also:
    • setShowDisabledIcon

      public Label setShowDisabledIcon(Boolean showDisabledIcon) throws IllegalStateException
      If using an icon for this button, whether to switch the icon image if the button becomes disabled.
      Overrides:
      setShowDisabledIcon in class Button
      Parameters:
      showDisabledIcon - New showDisabledIcon value. Default value is true
      Returns:
      Label instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getShowDisabledIcon

      public Boolean getShowDisabledIcon()
      If using an icon for this button, whether to switch the icon image if the button becomes disabled.
      Overrides:
      getShowDisabledIcon in class Button
      Returns:
      Current showDisabledIcon value. Default value is true
      See Also:
    • setShowDownIcon

      public Label setShowDownIcon(Boolean showDownIcon) throws IllegalStateException
      If using an icon for this button, whether to switch the icon image when the mouse goes down on the button.
      Overrides:
      setShowDownIcon in class Button
      Parameters:
      showDownIcon - New showDownIcon value. Default value is false
      Returns:
      Label instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getShowDownIcon

      public Boolean getShowDownIcon()
      If using an icon for this button, whether to switch the icon image when the mouse goes down on the button.
      Overrides:
      getShowDownIcon in class Button
      Returns:
      Current showDownIcon value. Default value is false
      See Also:
    • setShowFocusedIcon

      public Label setShowFocusedIcon(Boolean showFocusedIcon) throws IllegalStateException
      If using an icon for this button, whether to switch the icon image when the button receives focus.

      If StatefulCanvas.showFocusedAsOver is true, the "Over" icon will be displayed when the canvas has focus, otherwise a separate "Focused" icon will be displayed

      Overrides:
      setShowFocusedIcon in class Button
      Parameters:
      showFocusedIcon - New showFocusedIcon value. Default value is false
      Returns:
      Label instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getShowFocusedIcon

      public Boolean getShowFocusedIcon()
      If using an icon for this button, whether to switch the icon image when the button receives focus.

      If StatefulCanvas.showFocusedAsOver is true, the "Over" icon will be displayed when the canvas has focus, otherwise a separate "Focused" icon will be displayed

      Overrides:
      getShowFocusedIcon in class Button
      Returns:
      Current showFocusedIcon value. Default value is false
      See Also:
    • setShowRollOverIcon

      public Label setShowRollOverIcon(Boolean showRollOverIcon) throws IllegalStateException
      If using an icon for this button, whether to switch the icon image on mouse rollover.
      Overrides:
      setShowRollOverIcon in class Button
      Parameters:
      showRollOverIcon - New showRollOverIcon value. Default value is false
      Returns:
      Label instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getShowRollOverIcon

      public Boolean getShowRollOverIcon()
      If using an icon for this button, whether to switch the icon image on mouse rollover.
      Overrides:
      getShowRollOverIcon in class Button
      Returns:
      Current showRollOverIcon value. Default value is false
      See Also:
    • setShowSelectedIcon

      public Label setShowSelectedIcon(Boolean showSelectedIcon) throws IllegalStateException
      If using an icon for this button, whether to switch the icon image when the button becomes selected.
      Overrides:
      setShowSelectedIcon in class Button
      Parameters:
      showSelectedIcon - New showSelectedIcon value. Default value is false
      Returns:
      Label instance, for chaining setter calls
      Throws:
      IllegalStateException - this property cannot be changed after the component has been created
      See Also:
    • getShowSelectedIcon

      public Boolean getShowSelectedIcon()
      If using an icon for this button, whether to switch the icon image when the button becomes selected.
      Overrides:
      getShowSelectedIcon in class Button
      Returns:
      Current showSelectedIcon value. Default value is false
      See Also:
    • setStyleName

      public void setStyleName(String styleName)
      Set the CSS class for this widget. For a Label, this is equivalent to setting Button.baseStyle.

      If this method is called after the component has been drawn/initialized: Dynamically change the CSS class for this widget. For a Label, this is equivalent to setBaseStyle().
      Overrides:
      setStyleName in class Button
      Parameters:
      styleName - new CSS style name. Default value is "normal"
      See Also:
    • getStyleName

      public String getStyleName()
      Set the CSS class for this widget. For a Label, this is equivalent to setting Button.baseStyle.
      Overrides:
      getStyleName in class Button
      Returns:
      Current styleName value. Default value is "normal"
      See Also:
    • setValign

      public Label setValign(VerticalAlignment valign)
      Vertical alignment of label text. See VerticalAlignment type for details.
      Overrides:
      setValign in class Button
      Parameters:
      valign - New valign value. Default value is Canvas.CENTER
      Returns:
      Label instance, for chaining setter calls
      See Also:
    • getValign

      public VerticalAlignment getValign()
      Vertical alignment of label text. See VerticalAlignment type for details.
      Overrides:
      getValign in class Button
      Returns:
      Current valign value. Default value is Canvas.CENTER
      See Also:
    • setWidth

      public Label setWidth(Integer width)
      Size for this component's horizontal dimension. See Canvas.width for more details.

      Note that if StatefulCanvas.autoFit is set, this property will be ignored so that the widget is always sized just large enough to accommodate the title.

      Overrides:
      setWidth in class Button
      Parameters:
      width - New width value. Default value is null
      Returns:
      Label instance, for chaining setter calls
      See Also:
    • getWidth

      public Integer getWidth()
      Size for this component's horizontal dimension. See Canvas.width for more details.

      Note that if StatefulCanvas.autoFit is set, this property will be ignored so that the widget is always sized just large enough to accommodate the title.

      Overrides:
      getWidth in class Button
      Returns:
      Current width value. Default value is null
      See Also:
    • setWidth

      public void setWidth(String width)
      Size for this component's horizontal dimension. See Canvas.width for more details.

      Note that if StatefulCanvas.autoFit is set, this property will be ignored so that the widget is always sized just large enough to accommodate the title.

      Overrides:
      setWidth in class Button
      Parameters:
      width - New width value. Default value is null
      See Also:
    • getWidthAsString

      public String getWidthAsString()
      Size for this component's horizontal dimension. See Canvas.width for more details.

      Note that if StatefulCanvas.autoFit is set, this property will be ignored so that the widget is always sized just large enough to accommodate the title.

      Overrides:
      getWidthAsString in class Button
      Returns:
      Current width value. Default value is null
      See Also:
    • setWrap

      public Label setWrap(Boolean wrap)
      If false, the label text will not be wrapped to the next line.
      Overrides:
      setWrap in class Button
      Parameters:
      wrap - New wrap value. Default value is true
      Returns:
      Label instance, for chaining setter calls
      See Also:
    • getWrap

      public Boolean getWrap()
      If false, the label text will not be wrapped to the next line.
      Overrides:
      getWrap in class Button
      Returns:
      Current wrap value. Default value is true
      See Also:
    • setDefaultProperties

      public static void setDefaultProperties(Label labelProperties)
      Class level method to set the default properties of this class. If set, then all existing and subsequently created instances of this class will automatically have default properties corresponding to the properties set on the SmartGWT class instance passed to this function before its underlying SmartClient JS object was created. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

      Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.

      Parameters:
      labelProperties - properties that should be used as new defaults when instances of this class are created
      See Also:
    • setLogicalStructure

      public LogicalStructureObject setLogicalStructure(LabelLogicalStructure s)
      Setter implementing the LogicalStructure interface, which supports Eclipse's logical structure debugging facility.
    • getLogicalStructure

      public LogicalStructureObject getLogicalStructure()
      Getter implementing the LogicalStructure interface, which supports Eclipse's logical structure debugging facility.
      Specified by:
      getLogicalStructure in interface LogicalStructure
      Overrides:
      getLogicalStructure in class Button