Enum TextBoundsType

  • All Implemented Interfaces:
    Serializable, Comparable<TextBoundsType>


    public enum TextBoundsType
    extends Enum<TextBoundsType>
    Specifies the behaviour of bounds reporting by Text nodes. The setting affects layoutBounds, boundsInLocal and boundsInParent The geometry of text can be measured either in terms of the bounds of the particular text to be rendered - visual bounds, or as properties of the font and the characters to be rendered - logical bounds. Visual bounds are more useful for positioning text as graphics, and for obtaining tight enclosing bounds around the text.

    Logical bounds are important for laying out text relative to other text and other components, particularly those which also contain text. The bounds isn't specific to the text being rendered, and so will report heights which account for the potential ascent and descent of text using the font at its specified size. Also leading and trailing spaces are part of the logical advance width of the text.

    Since:
    JavaFX 2.0
    • Enum Constant Detail

      • LOGICAL

        public static final TextBoundsType LOGICAL
        Use logical bounds as the basis for calculating the bounds.

        The logical bounds are based on font metrics information. The width is based on the glyph advances and the height on the ascent, descent, and line gap. Except for the last line which does not include the line gap.

        Note: This is usually the fastest option.

      • VISUAL

        public static final TextBoundsType VISUAL
        Use visual bounds as the basis for calculating the bounds.

        Note: This is likely to be slower than using logical bounds.

      • LOGICAL_VERTICAL_CENTER

        public static final TextBoundsType LOGICAL_VERTICAL_CENTER
        Use logical vertical centered bounds as the basis for calculating the bounds.

        This bounds type is typically used to center Text nodes vertically within the bounds of its parent.

        Since:
        JavaFX 8.0
    • Method Detail

      • values

        public static TextBoundsType[] values​()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (TextBoundsType c : TextBoundsType.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static TextBoundsType valueOf​(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null