Module javafx.graphics
Package javafx.scene.text

# Enum TextBoundsType

java.lang.Object
java.lang.Enum<TextBoundsType>
javafx.scene.text.TextBoundsType

All Implemented Interfaces:
  `Serializable`, `Comparable<TextBoundsType>`, `Constable`

    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

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class java.lang.Enum

  `Enum.EnumDesc<E extends Enum<E>>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant | Description
  --- | ---
  `LOGICAL` | Use logical bounds as the basis for calculating the bounds.
  `LOGICAL_VERTICAL_CENTER` | Use logical vertical centered bounds as the basis for calculating the bounds.
  `VISUAL` | Use visual bounds as the basis for calculating the bounds.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `static TextBoundsType` | `valueOf​(String name)` | Returns the enum constant of this type with the specified name.
  `static TextBoundsType[]` | `values()` | Returns an array containing the constants of this enum type, in the order they are declared.

  ### Methods inherited from class java.lang.Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

  ### Methods inherited from class java.lang.Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### 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 Details

  - ### values

    public static TextBoundsType[] values()
    Returns an array containing the constants of this enum type, in the order they are declared.
    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