Module javafx.controls
Package javafx.scene.control

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

- - ### Property Summary

    Properties
    Type | Property | Description
    --- | --- | ---
    `IntegerProperty` | `prefColumnCount` | The preferred number of text columns.
    `IntegerProperty` | `prefRowCount` | The preferred number of text rows.
    `DoubleProperty` | `scrollLeft` | The number of pixels by which the content is horizontally scrolled.
    `DoubleProperty` | `scrollTop` | The number of pixels by which the content is vertically scrolled.
    `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 inherited from class javafx.scene.control.TextInputControl

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

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

  - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javafx.scene.control.TextInputControl

      `TextInputControl.Content`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `DEFAULT_PREF_COLUMN_COUNT` | The default value for `prefColumnCount`.
    `static int` | `DEFAULT_PREF_ROW_COUNT` | The default value for `prefRowCount`.

    - ### 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
    --- | ---
    `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
    --- | --- | ---
    `protected Skin<?>` | `createDefaultSkin()` | Create a new instance of the default skin for this control.
    `static List<CssMetaData<? extends Styleable,​?>>` | `getClassCssMetaData()` |
    `List<CssMetaData<? extends Styleable,​?>>` | `getControlCssMetaData()`
    `ObservableList<CharSequence>` | `getParagraphs()` | Returns an unmodifiable list of the character sequences that back the text area's content.
    `int` | `getPrefColumnCount()` | Gets the value of the property prefColumnCount.
    `int` | `getPrefRowCount()` | Gets the value of the property prefRowCount.
    `double` | `getScrollLeft()` | Gets the value of the property scrollLeft.
    `double` | `getScrollTop()` | Gets the value of the property scrollTop.
    `boolean` | `isWrapText()` | Gets the value of the property wrapText.
    `IntegerProperty` | `prefColumnCountProperty()` | The preferred number of text columns.
    `IntegerProperty` | `prefRowCountProperty()` | The preferred number of text rows.
    `DoubleProperty` | `scrollLeftProperty()` | The number of pixels by which the content is horizontally scrolled.
    `DoubleProperty` | `scrollTopProperty()` | The number of pixels by which the content is vertically scrolled.
    `void` | `setPrefColumnCount​(int value)` | Sets the value of the property prefColumnCount.
    `void` | `setPrefRowCount​(int value)` | Sets the value of the property prefRowCount.
    `void` | `setScrollLeft​(double value)` | Sets the value of the property scrollLeft.
    `void` | `setScrollTop​(double value)` | Sets the value of the property scrollTop.
    `void` | `setWrapText​(boolean value)` | Sets the value of the property wrapText.
    `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 inherited from class javafx.scene.control.TextInputControl

      `anchorProperty, appendText, backward, cancelEdit, caretPositionProperty, clear, commitValue, copy, cut, deleteNextChar, deletePreviousChar, deleteText, deleteText, deselect, editableProperty, end, endOfNextWord, executeAccessibleAction, 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, queryAccessibleAttribute, 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 inherited from class javafx.scene.control.Control

      `computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, getBaselineOffset, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, layoutChildren, 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, 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 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, 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, 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, toString, 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 Detail

    - #### 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)`

    - #### 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)`

    - #### 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)`

    - #### scrollTop

          public final DoubleProperty scrollTopProperty

      The number of pixels by which the content is vertically scrolled.
      See Also:
        `getScrollTop()`, `setScrollTop(double)`

    - #### scrollLeft

          public final DoubleProperty scrollLeftProperty

      The number of pixels by which the content is horizontally scrolled.
      See Also:
        `getScrollLeft()`, `setScrollLeft(double)`

  - ### Field Detail

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

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

    - #### 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.
      See Also:
        `isWrapText()`, `setWrapText(boolean)`

    - #### isWrapText

          public final boolean isWrapText()

      Gets the value of the property wrapText.
      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.

    - #### setWrapText

          public final void setWrapText​(boolean value)

      Sets the value of the property wrapText.
      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.

    - #### prefColumnCountProperty

          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)`

    - #### getPrefColumnCount

          public final int getPrefColumnCount()

      Gets the value of the property prefColumnCount.
      Property description:
        The preferred number of text columns. This is used for calculating the `TextArea`'s preferred width.

    - #### setPrefColumnCount

          public final void setPrefColumnCount​(int value)

      Sets the value of the property prefColumnCount.
      Property description:
        The preferred number of text columns. This is used for calculating the `TextArea`'s preferred width.

    - #### prefRowCountProperty

          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)`

    - #### getPrefRowCount

          public final int getPrefRowCount()

      Gets the value of the property prefRowCount.
      Property description:
        The preferred number of text rows. This is used for calculating the `TextArea`'s preferred height.

    - #### setPrefRowCount

          public final void setPrefRowCount​(int value)

      Sets the value of the property prefRowCount.
      Property description:
        The preferred number of text rows. This is used for calculating the `TextArea`'s preferred height.

    - #### scrollTopProperty

          public final DoubleProperty scrollTopProperty()

      The number of pixels by which the content is vertically scrolled.
      See Also:
        `getScrollTop()`, `setScrollTop(double)`

    - #### getScrollTop

          public final double getScrollTop()

      Gets the value of the property scrollTop.
      Property description:
        The number of pixels by which the content is vertically scrolled.

    - #### setScrollTop

          public final void setScrollTop​(double value)

      Sets the value of the property scrollTop.
      Property description:
        The number of pixels by which the content is vertically scrolled.

    - #### scrollLeftProperty

          public final DoubleProperty scrollLeftProperty()

      The number of pixels by which the content is horizontally scrolled.
      See Also:
        `getScrollLeft()`, `setScrollLeft(double)`

    - #### getScrollLeft

          public final double getScrollLeft()

      Gets the value of the property scrollLeft.
      Property description:
        The number of pixels by which the content is horizontally scrolled.

    - #### setScrollLeft

          public final void setScrollLeft​(double value)

      Sets the value of the property scrollLeft.
      Property description:
        The number of pixels by which the content is horizontally scrolled.

    - #### createDefaultSkin

          protected Skin<?> createDefaultSkin()

      Create a new instance of the default skin for this control. This is called to create a skin for the control if no skin is provided via CSS `-fx-skin` or set explicitly in a sub-class with `setSkin(...)`.
      Overrides:
        `createDefaultSkin` in class `Control`
      Returns:
        new instance of default skin for this control. If null then the control will have no skin unless one is provided by css.

    - #### getClassCssMetaData

          public static List<CssMetaData<? extends Styleable,​?>> getClassCssMetaData()

      Returns:
        The CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
      Since:
        JavaFX 8.0

    - #### getControlCssMetaData

          public List<CssMetaData<? extends Styleable,​?>> getControlCssMetaData()

      Overrides:
        `getControlCssMetaData` in class `TextInputControl`
      Returns:
        unmodifiable list of the controls css styleable properties
      Since:
        JavaFX 8.0