Class Glyph

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
javafx.scene.control.Labeled
javafx.scene.control.Label
org.controlsfx.glyphfont.Glyph
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable, Duplicatable<Glyph>

public class Glyph extends javafx.scene.control.Label implements Duplicatable<Glyph>
Represents one glyph from the font. The glyph is actually a label showing one character from the specified font. It can be used as 'graphic' on any UI control or Action. It can also directly be used in FXML. Examples:

 new Button("", new Glyph("FontAwesome", "BEER"))
 

 new Button("", new Glyph("FontAwesome", FontAwesome.Glyph.BEER))
 
Thy Glyph-Class also offers a fluent API to customize the look of the Glyph. For example, you can set the color color(javafx.scene.paint.Color) or also add effects such as useHoverEffect()

An ability to retrieve glyph node by combination of font name and glyph name extends to the ActionProxy graphic attribute, where the "font>" prefix should be used. For more information see ActionProxy.

  • Property Summary

    Properties
    Type
    Property
    Description
    javafx.beans.property.ObjectProperty<Object>
    The icon name property.

    Properties inherited from class javafx.scene.control.Label

    labelFor

    Properties inherited from class javafx.scene.control.Labeled

    alignment, contentDisplay, ellipsisString, font, graphic, graphicTextGap, labelPadding, lineSpacing, mnemonicParsing, textAlignment, textFill, textOverrun, text, underline, wrapText

    Properties inherited from class javafx.scene.control.Control

    contextMenu, skin, tooltip

    Properties inherited from class javafx.scene.layout.Region

    background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width

    Properties inherited from class javafx.scene.Parent

    needsLayout

    Properties inherited from class javafx.scene.Node

    accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    * Private fields * *
    static final String
     
    static final String
     

    Fields inherited from class javafx.scene.layout.Region

    USE_COMPUTED_SIZE, USE_PREF_SIZE

    Fields inherited from class javafx.scene.Node

    BASELINE_OFFSET_SAME_AS_HEIGHT
  • Constructor Summary

    Constructors
    Constructor
    Description
    Empty Constructor (used by FXML)
    Glyph(String fontFamily, char unicode)
    Creates a new Glyph
    Glyph(String fontFamily, Object icon)
    Creates a new Glyph
  • Method Summary

    Modifier and Type
    Method
    Description
    color(javafx.scene.paint.Color color)
    Sets the glyph color
    static Glyph
    create(String fontAndGlyph)
    Retrieve glyph by font name and glyph name using one string where font name an glyph name are separated by pipe.
    Allows glyph duplication.
    fontFamily(String fontFamily)
    Sets the glyph icon font family
    Gets the font family of this glyph
    double
    Gets the font size of this glyph
    Gets the value of the icon property.
     
    javafx.beans.property.ObjectProperty<Object>
    The icon name property.
    void
    setColor(javafx.scene.paint.Color color)
    Set the Color of this Glyph
    void
    Sets the font family of this glyph Font size is reset to default glyph font size
    void
    setFontSize(double size)
    Sets the font size of this glyph
    void
    setIcon(Object iconValue)
    Set the icon to display.
    size(double size)
    Sets glyph size
    sizeFactor(int factor)
    Sets glyph size using size factor based on default font size
    Adds the gradient effect style
    Adds the hover effect style

    Methods inherited from class javafx.scene.control.Label

    createDefaultSkin, getInitialFocusTraversable, getLabelFor, labelForProperty, setLabelFor

    Methods inherited from class javafx.scene.control.Labeled

    alignmentProperty, contentDisplayProperty, ellipsisStringProperty, fontProperty, getAlignment, getClassCssMetaData, getContentBias, getContentDisplay, getControlCssMetaData, getEllipsisString, getFont, getGraphic, getGraphicTextGap, getInitialAlignment, getLabelPadding, getLineSpacing, getText, getTextAlignment, getTextFill, getTextOverrun, graphicProperty, graphicTextGapProperty, isMnemonicParsing, isUnderline, isWrapText, labelPaddingProperty, lineSpacingProperty, mnemonicParsingProperty, setAlignment, setContentDisplay, setEllipsisString, setFont, setGraphic, setGraphicTextGap, setLineSpacing, setMnemonicParsing, setText, setTextAlignment, setTextFill, setTextOverrun, setUnderline, setWrapText, textAlignmentProperty, textFillProperty, textOverrunProperty, textProperty, toString, underlineProperty, wrapTextProperty

    Methods inherited from class javafx.scene.control.Control

    computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, layoutChildren, queryAccessibleAttribute, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty

    Methods inherited from class javafx.scene.layout.Region

    backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty

    Methods inherited from class javafx.scene.Parent

    getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds

    Methods inherited from class javafx.scene.Node

    accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface javafx.css.Styleable

    getStyleableNode
  • Property Details

    • icon

      public javafx.beans.property.ObjectProperty<Object> iconProperty
      The icon name property. This must either be a Glyph-Name (either string or enum value) known by the GlyphFontRegistry. Alternatively, you can directly submit a unicode character here.
      See Also:
  • Field Details

  • Constructor Details

    • Glyph

      public Glyph()
      Empty Constructor (used by FXML)
    • Glyph

      public Glyph(String fontFamily, char unicode)
      Creates a new Glyph
      Parameters:
      fontFamily - The family name of the font. Example: "FontAwesome"
      unicode - The Unicode character of the glyph
    • Glyph

      public Glyph(String fontFamily, Object icon)
      Creates a new Glyph
      Parameters:
      fontFamily - The family name of the font. Example: "FontAwesome"
      icon - The icon - which can be the name (String) or Enum value. Example: FontAwesome.Glyph.BEER
  • Method Details

    • create

      public static Glyph create(String fontAndGlyph)
      Retrieve glyph by font name and glyph name using one string where font name an glyph name are separated by pipe.
      Parameters:
      fontAndGlyph - The font and glyph separated by a pipe. Example: "FontAwesome|STAR"
      Returns:
      A instance of a Glyph node
    • fontFamily

      public Glyph fontFamily(String fontFamily)
      Sets the glyph icon font family
      Parameters:
      fontFamily - A font family name
      Returns:
      Returns this instance for fluent API
    • color

      public Glyph color(javafx.scene.paint.Color color)
      Sets the glyph color
      Parameters:
      color -
      Returns:
      Returns this instance for fluent API
    • size

      public Glyph size(double size)
      Sets glyph size
      Parameters:
      size -
      Returns:
      Returns this instance for fluent API
    • sizeFactor

      public Glyph sizeFactor(int factor)
      Sets glyph size using size factor based on default font size
      Parameters:
      factor -
      Returns:
      Returns this instance for fluent API
    • useHoverEffect

      public Glyph useHoverEffect()
      Adds the hover effect style
      Returns:
      Returns this instance for fluent API
    • useGradientEffect

      public Glyph useGradientEffect()
      Adds the gradient effect style
      Returns:
      Returns this instance for fluent API
    • duplicate

      public Glyph duplicate()
      Allows glyph duplication. Since in the JavaFX scenegraph it is not possible to insert the same Node in multiple locations at the same time, this method allows for glyph reuse in several places
      Specified by:
      duplicate in interface Duplicatable<Glyph>
    • getUserAgentStylesheet

      public String getUserAgentStylesheet()
      Overrides:
      getUserAgentStylesheet in class javafx.scene.layout.Region
    • setFontFamily

      public void setFontFamily(String family)
      Sets the font family of this glyph Font size is reset to default glyph font size
    • getFontFamily

      public String getFontFamily()
      Gets the font family of this glyph
    • setFontSize

      public void setFontSize(double size)
      Sets the font size of this glyph
    • getFontSize

      public double getFontSize()
      Gets the font size of this glyph
    • setColor

      public void setColor(javafx.scene.paint.Color color)
      Set the Color of this Glyph
    • iconProperty

      public javafx.beans.property.ObjectProperty<Object> iconProperty()
      The icon name property. This must either be a Glyph-Name (either string or enum value) known by the GlyphFontRegistry. Alternatively, you can directly submit a unicode character here.
      Returns:
      the icon property
      See Also:
    • setIcon

      public void setIcon(Object iconValue)
      Set the icon to display.
      Parameters:
      iconValue - This can either be the Glyph-Name, Glyph-Enum Value or a unicode character representing the sign.
    • getIcon

      public Object getIcon()
      Gets the value of the icon property.
      Property description:
      The icon name property. This must either be a Glyph-Name (either string or enum value) known by the GlyphFontRegistry. Alternatively, you can directly submit a unicode character here.
      Returns:
      the value of the icon property
      See Also: