Class FontIcon

All Implemented Interfaces:
AttachNotifier, ClickNotifier<FontIcon>, DetachNotifier, HasElement, HasStyle, HasTooltip, Serializable

public class FontIcon extends AbstractIcon<FontIcon>
Component for displaying an icon from a font icon collection. Note that the icon font must be loaded separately. One way to do this is by including it in the application's theme.
Author:
Vaadin Ltd
See Also:
  • Constructor Details

    • FontIcon

      public FontIcon()
      Default constructor. Creates an empty font icon.
    • FontIcon

      public FontIcon(String... iconClassNames)
      Creates a font icon component with the given icon class names. Example: new FontIcon("fa-solid", "fa-user").
      Parameters:
      iconClassNames - The icon class names, not null
      See Also:
  • Method Details

    • setIconClassNames

      public void setIconClassNames(String... iconClassNames)
      Sets the icon class names defining an icon font and/or a specific glyph inside an icon font. Example: setIconClassNames("fa-solid", "fa-user").
      Parameters:
      iconClassNames - The icon class names, not null
    • getIconClassNames

      public String[] getIconClassNames()
      Gets the icon class names defining an icon font and/or a specific glyph inside an icon font.
      Returns:
      The icon class names
    • setFontFamily

      public void setFontFamily(String fontFamily)
      Sets the font family to use for the font icon.
      Parameters:
      fontFamily - the font family to use
    • getFontFamily

      public String getFontFamily()
      Gets the font family to use for the font icon.
      Returns:
      the font family to use
    • setCharCode

      public void setCharCode(String charCode)
      Sets the hexadecimal code point that specifies a glyph from an icon font. Example: setCharCode("e001")
      Parameters:
      charCode - the character code to use
    • getCharCode

      public String getCharCode()
      Gets the hexadecimal code point that specifies a glyph from an icon font.
      Returns:
      the character code to use
    • bindCharCode

      public SignalBinding<String> bindCharCode(Signal<String> signal)
      Binds the given signal to the character code of the font icon.

      The character code is set immediately with the current signal value when the binding is created, and is kept synchronized with any subsequent signal value changes while the component is in attached state. When the component is in detached state, signal value changes have no effect.

      While a signal is bound, any attempt to set the character code manually through setCharCode(String) throws a BindingActiveException.

      Parameters:
      signal - the signal to bind the character code to, not null
      Returns:
      a SignalBinding that can be used to register onChange callbacks
      Since:
      25.1
      See Also:
    • setLigature

      public void setLigature(String ligature)
      Sets the ligature name that specifies an icon from an icon font with support for ligatures. Example: setLigature("home")
      Parameters:
      ligature - the ligature to use
    • getLigature

      public String getLigature()
      Gets the ligature name that specifies an icon from an icon font with support for ligatures.
      Returns:
      the ligature to use
    • bindLigature

      public SignalBinding<String> bindLigature(Signal<String> signal)
      Binds the given signal to the ligature name of the font icon.

      The ligature name is set immediately with the current signal value when the binding is created, and is kept synchronized with any subsequent signal value changes while the component is in attached state. When the component is in detached state, signal value changes have no effect.

      While a signal is bound, any attempt to set the ligature manually through setLigature(String) throws a BindingActiveException.

      Parameters:
      signal - the signal to bind the ligature to, not null
      Returns:
      a SignalBinding that can be used to register onChange callbacks
      Since:
      25.1
      See Also:
    • setColor

      public void setColor(String color)
      Description copied from class: AbstractIcon
      Sets the color of the icon.

      The color should be in a format understood by the browser, e.g. "orange", "#FF9E2C" or "rgb(255, 158, 44)".

      Specified by:
      setColor in class AbstractIcon<FontIcon>
      Parameters:
      color - the color to set, may be null to clear the value
    • getColor

      public String getColor()
      Description copied from class: AbstractIcon
      Gets the color of this icon as a String.
      Specified by:
      getColor in class AbstractIcon<FontIcon>
      Returns:
      the color of the icon, or null if the color has not been set