# Class TextArea

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
javafx.scene.control.TextInputControl
javafx.scene.control.TextArea

All Implemented Interfaces:
  `Styleable, EventTarget, Skinnable`

public class TextArea extends TextInputControl
Text input component that allows a user to enter multiple lines of plain text. Unlike in previous releases of JavaFX, support for single line input is not available as part of the TextArea control, however this is the sole-purpose of the `TextField` control. Additionally, if you want a form of rich-text editing, there is also the `HTMLEditor` control.

TextArea supports the notion of showing `prompt text` to the user when there is no `text` already in the TextArea (either via the user, or set programmatically). This is a useful way of informing the user as to what is expected in the text area, without having to resort to `tooltips` or on-screen `labels`.

Example:

     var textArea = new TextArea("Lorem ipsum dolor sit amet, consectetur adipiscing elit, "
           + "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim "
           + "ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip "
           + "ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate "
           + "velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat "
           + "cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.");
    textArea.setWrapText(true);

Since:
  JavaFX 2.0
See Also:
  - `TextField`

- ## Nested Class Summary

  ### Nested classes/interfaces declared in class TextInputControl

  `TextInputControl.Content`

- ## Property Summary

  Properties
  Type
  Property
  Description
  `final IntegerProperty`
  `prefColumnCount`
  The preferred number of text columns.
  `final IntegerProperty`
  `prefRowCount`
  The preferred number of text rows.
  `final DoubleProperty`
  `scrollLeft`
  The number of pixels by which the content is horizontally scrolled.
  `final DoubleProperty`
  `scrollTop`
  The number of pixels by which the content is vertically scrolled.
  `final BooleanProperty`
  `wrapText`
  If a run of text exceeds the width of the `TextArea`, then this variable indicates whether the text should wrap onto another line.

  ### Properties declared in class TextInputControl

  `anchor, caretPosition, editable, font, length, promptText, redoable, selectedText, selection, textFormatter, text, undoable`

  ### Properties declared in class Control

  `contextMenu, skin, tooltip`

  ### Properties declared in class Region

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

  ### Properties declared in class Parent

  `needsLayout`

  ### Properties declared in class Node

  `accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, focusVisible, focusWithin, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragDone, 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 int`
  `DEFAULT_PREF_COLUMN_COUNT`
  The default value for `prefColumnCount`.
  `static final int`
  `DEFAULT_PREF_ROW_COUNT`
  The default value for `prefRowCount`.

  ### Fields declared in class Region

  `USE_COMPUTED_SIZE, USE_PREF_SIZE`

  ### Fields declared in class Node

  `BASELINE_OFFSET_SAME_AS_HEIGHT`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TextArea()`
  Creates a `TextArea` with empty text content.
  `TextArea(String text)`
  Creates a `TextArea` with initial text content.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static List<CssMetaData<? extends Styleable, ?>>`
  `getClassCssMetaData()`
  Gets the `CssMetaData` associated with this class, which may include the `CssMetaData` of its superclasses.
  `List<CssMetaData<? extends Styleable, ?>>`
  `getControlCssMetaData()`
  Gets the unmodifiable list of the control's CSS-styleable properties.
  `ObservableList<CharSequence>`
  `getParagraphs()`
  Returns an unmodifiable list of the character sequences that back the text area's content.
  `final int`
  `getPrefColumnCount()`
  Gets the value of the `prefColumnCount` property.
  `final int`
  `getPrefRowCount()`
  Gets the value of the `prefRowCount` property.
  `final double`
  `getScrollLeft()`
  Gets the value of the `scrollLeft` property.
  `final double`
  `getScrollTop()`
  Gets the value of the `scrollTop` property.
  `final boolean`
  `isWrapText()`
  Gets the value of the `wrapText` property.
  `final IntegerProperty`
  `prefColumnCountProperty()`
  The preferred number of text columns.
  `final IntegerProperty`
  `prefRowCountProperty()`
  The preferred number of text rows.
  `final DoubleProperty`
  `scrollLeftProperty()`
  The number of pixels by which the content is horizontally scrolled.
  `final DoubleProperty`
  `scrollTopProperty()`
  The number of pixels by which the content is vertically scrolled.
  `final void`
  `setPrefColumnCount(int value)`
  Sets the value of the `prefColumnCount` property.
  `final void`
  `setPrefRowCount(int value)`
  Sets the value of the `prefRowCount` property.
  `final void`
  `setScrollLeft(double value)`
  Sets the value of the `scrollLeft` property.
  `final void`
  `setScrollTop(double value)`
  Sets the value of the `scrollTop` property.
  `final void`
  `setWrapText(boolean value)`
  Sets the value of the `wrapText` property.
  `final BooleanProperty`
  `wrapTextProperty()`
  If a run of text exceeds the width of the `TextArea`, then this variable indicates whether the text should wrap onto another line.

  ### Methods declared in class TextInputControl

  `anchorProperty, appendText, backward, cancelEdit, caretPositionProperty, clear, commitValue, copy, cut, deleteNextChar, deletePreviousChar, deleteText, deleteText, deselect, editableProperty, end, endOfNextWord, extendSelection, fontProperty, forward, getAnchor, getCaretPosition, getContent, getFont, getLength, getPromptText, getSelectedText, getSelection, getText, getText, getTextFormatter, home, insertText, isEditable, isRedoable, isUndoable, lengthProperty, nextWord, paste, positionCaret, previousWord, promptTextProperty, redo, redoableProperty, replaceSelection, replaceText, replaceText, selectAll, selectBackward, selectedTextProperty, selectEnd, selectEndOfNextWord, selectForward, selectHome, selectionProperty, selectNextWord, selectPositionCaret, selectPreviousWord, selectRange, setEditable, setFont, setPromptText, setText, setTextFormatter, textFormatterProperty, textProperty, undo, undoableProperty`

  ### Methods declared in class Control

  `computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty`

  ### Methods declared in class Region

  `backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computePrefHeight, computePrefWidth, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, 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 declared in class Parent

  `getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds`

  ### Methods declared in class 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, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, 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, getOnMouseDragDone, 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, isFocusVisible, isFocusWithin, 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, lookup, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragDoneProperty, 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, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, requestFocusTraversal, 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, setOnMouseDragDone, 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, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty`

  ### Methods declared in class Object

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

  ### Methods declared in interface Styleable

  `getStyleableNode`

- ## Property Details

  - ### wrapText

    public final BooleanProperty wrapTextProperty
    If a run of text exceeds the width of the `TextArea`, then this variable indicates whether the text should wrap onto another line.
    See Also:
      - `isWrapText()`
      - `setWrapText(boolean)`
      - `wrapTextProperty()`

  - ### prefColumnCount

    public final IntegerProperty prefColumnCountProperty
    The preferred number of text columns. This is used for calculating the `TextArea`'s preferred width.
    See Also:
      - `getPrefColumnCount()`
      - `setPrefColumnCount(int)`
      - `prefColumnCountProperty()`

  - ### prefRowCount

    public final IntegerProperty prefRowCountProperty
    The preferred number of text rows. This is used for calculating the `TextArea`'s preferred height.
    See Also:
      - `getPrefRowCount()`
      - `setPrefRowCount(int)`
      - `prefRowCountProperty()`

  - ### scrollTop

    public final DoubleProperty scrollTopProperty
    The number of pixels by which the content is vertically scrolled.
    See Also:
      - `getScrollTop()`
      - `setScrollTop(double)`
      - `scrollTopProperty()`

  - ### scrollLeft

    public final DoubleProperty scrollLeftProperty
    The number of pixels by which the content is horizontally scrolled.
    See Also:
      - `getScrollLeft()`
      - `setScrollLeft(double)`
      - `scrollLeftProperty()`

- ## Field Details

  - ### DEFAULT_PREF_COLUMN_COUNT

    public static final int DEFAULT_PREF_COLUMN_COUNT
    The default value for `prefColumnCount`.
    See Also:
      - Constant Field Values

  - ### DEFAULT_PREF_ROW_COUNT

    public static final int DEFAULT_PREF_ROW_COUNT
    The default value for `prefRowCount`.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### TextArea

    public TextArea()
    Creates a `TextArea` with empty text content.

  - ### TextArea

    public TextArea(String text)
    Creates a `TextArea` with initial text content.
    Parameters:
      `text` - A string for text content.

- ## Method Details

  - ### getParagraphs

    public ObservableList<CharSequence> getParagraphs()
    Returns an unmodifiable list of the character sequences that back the text area's content.
    Returns:
      an unmodifiable list of the character sequences that back the text area's content

  - ### wrapTextProperty

    public final BooleanProperty wrapTextProperty()
    If a run of text exceeds the width of the `TextArea`, then this variable indicates whether the text should wrap onto another line.
    Returns:
      the `wrapText` property
    See Also:
      - `isWrapText()`
      - `setWrapText(boolean)`

  - ### isWrapText

    public final boolean isWrapText()
    Gets the value of the `wrapText` property.
    Property description:
      If a run of text exceeds the width of the `TextArea`, then this variable indicates whether the text should wrap onto another line.
    Returns:
      the value of the `wrapText` property
    See Also:
      - `setWrapText(boolean)`
      - `wrapTextProperty()`

  - ### setWrapText

    public final void setWrapText(boolean value)
    Sets the value of the `wrapText` property.
    Property description:
      If a run of text exceeds the width of the `TextArea`, then this variable indicates whether the text should wrap onto another line.
    Parameters:
      `value` - the value for the `wrapText` property
    See Also:
      - `isWrapText()`
      - `wrapTextProperty()`

  - ### prefColumnCountProperty

    public final IntegerProperty prefColumnCountProperty()
    The preferred number of text columns. This is used for calculating the `TextArea`'s preferred width.
    Returns:
      the `prefColumnCount` property
    See Also:
      - `getPrefColumnCount()`
      - `setPrefColumnCount(int)`

  - ### getPrefColumnCount

    public final int getPrefColumnCount()
    Gets the value of the `prefColumnCount` property.
    Property description:
      The preferred number of text columns. This is used for calculating the `TextArea`'s preferred width.
    Returns:
      the value of the `prefColumnCount` property
    See Also:
      - `setPrefColumnCount(int)`
      - `prefColumnCountProperty()`

  - ### setPrefColumnCount

    public final void setPrefColumnCount(int value)
    Sets the value of the `prefColumnCount` property.
    Property description:
      The preferred number of text columns. This is used for calculating the `TextArea`'s preferred width.
    Parameters:
      `value` - the value for the `prefColumnCount` property
    See Also:
      - `getPrefColumnCount()`
      - `prefColumnCountProperty()`

  - ### prefRowCountProperty

    public final IntegerProperty prefRowCountProperty()
    The preferred number of text rows. This is used for calculating the `TextArea`'s preferred height.
    Returns:
      the `prefRowCount` property
    See Also:
      - `getPrefRowCount()`
      - `setPrefRowCount(int)`

  - ### getPrefRowCount

    public final int getPrefRowCount()
    Gets the value of the `prefRowCount` property.
    Property description:
      The preferred number of text rows. This is used for calculating the `TextArea`'s preferred height.
    Returns:
      the value of the `prefRowCount` property
    See Also:
      - `setPrefRowCount(int)`
      - `prefRowCountProperty()`

  - ### setPrefRowCount

    public final void setPrefRowCount(int value)
    Sets the value of the `prefRowCount` property.
    Property description:
      The preferred number of text rows. This is used for calculating the `TextArea`'s preferred height.
    Parameters:
      `value` - the value for the `prefRowCount` property
    See Also:
      - `getPrefRowCount()`
      - `prefRowCountProperty()`

  - ### scrollTopProperty

    public final DoubleProperty scrollTopProperty()
    The number of pixels by which the content is vertically scrolled.
    Returns:
      the `scrollTop` property
    See Also:
      - `getScrollTop()`
      - `setScrollTop(double)`

  - ### getScrollTop

    public final double getScrollTop()
    Gets the value of the `scrollTop` property.
    Property description:
      The number of pixels by which the content is vertically scrolled.
    Returns:
      the value of the `scrollTop` property
    See Also:
      - `setScrollTop(double)`
      - `scrollTopProperty()`

  - ### setScrollTop

    public final void setScrollTop(double value)
    Sets the value of the `scrollTop` property.
    Property description:
      The number of pixels by which the content is vertically scrolled.
    Parameters:
      `value` - the value for the `scrollTop` property
    See Also:
      - `getScrollTop()`
      - `scrollTopProperty()`

  - ### scrollLeftProperty

    public final DoubleProperty scrollLeftProperty()
    The number of pixels by which the content is horizontally scrolled.
    Returns:
      the `scrollLeft` property
    See Also:
      - `getScrollLeft()`
      - `setScrollLeft(double)`

  - ### getScrollLeft

    public final double getScrollLeft()
    Gets the value of the `scrollLeft` property.
    Property description:
      The number of pixels by which the content is horizontally scrolled.
    Returns:
      the value of the `scrollLeft` property
    See Also:
      - `setScrollLeft(double)`
      - `scrollLeftProperty()`

  - ### setScrollLeft

    public final void setScrollLeft(double value)
    Sets the value of the `scrollLeft` property.
    Property description:
      The number of pixels by which the content is horizontally scrolled.
    Parameters:
      `value` - the value for the `scrollLeft` property
    See Also:
      - `getScrollLeft()`
      - `scrollLeftProperty()`

  - ### getClassCssMetaData

    public static List<CssMetaData<? extends Styleable, ?>> getClassCssMetaData()
    Gets the `CssMetaData` associated with this class, which may include the `CssMetaData` of its superclasses.
    Returns:
      the `CssMetaData`
    Since:
      JavaFX 8.0

  - ### getControlCssMetaData

    public List<CssMetaData<? extends Styleable, ?>> getControlCssMetaData()
    Gets the unmodifiable list of the control's CSS-styleable properties.
    Overrides:
      `getControlCssMetaData` in class `TextInputControl`
    Returns:
      the unmodifiable list of the control's CSS-styleable properties
    Since:
      JavaFX 8.0