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

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