com.google.gwt.user.client.ui

## Class TextArea

- java.lang.Object
- - com.google.gwt.user.client.ui.UIObject
  - - com.google.gwt.user.client.ui.Widget
    - - com.google.gwt.user.client.ui.FocusWidget
      - - com.google.gwt.user.client.ui.ValueBoxBase<java.lang.String>
        - - com.google.gwt.user.client.ui.TextBoxBase
          - - com.google.gwt.user.client.ui.TextArea

All Implemented Interfaces:
  IsEditor<ValueBoxEditor<java.lang.String>>, HasAllDragAndDropHandlers, HasAllFocusHandlers, HasAllGestureHandlers, HasAllKeyHandlers, HasAllMouseHandlers, HasAllTouchHandlers, HasBlurHandlers, HasChangeHandlers, HasClickHandlers, HasDoubleClickHandlers, HasDragEndHandlers, HasDragEnterHandlers, HasDragHandlers, HasDragLeaveHandlers, HasDragOverHandlers, HasDragStartHandlers, HasDropHandlers, HasFocusHandlers, HasGestureChangeHandlers, HasGestureEndHandlers, HasGestureStartHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasKeyUpHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasTouchCancelHandlers, HasTouchEndHandlers, HasTouchMoveHandlers, HasTouchStartHandlers, HasAttachHandlers, HasValueChangeHandlers<java.lang.String>, HasHandlers, AutoDirectionHandler.Target, HasDirection, HasDirectionEstimator, EventListener, TakesValue<java.lang.String>, Focusable, HasEnabled, HasFocus, HasName, HasText, HasValue<java.lang.String>, HasVisibility, IsWidget, SourcesChangeEvents, SourcesClickEvents, SourcesFocusEvents, SourcesKeyboardEvents, SourcesMouseEvents

    public class TextArea
    extends TextBoxBase

A text box that allows multiple lines of text to be entered.

### CSS Style Rules

- .gwt-TextArea { primary style }
- .gwt-TextArea-readonly { dependent style set when the text area is read-only }

### Built-in Bidi Text Support

This widget is capable of automatically adjusting its direction according to the input text. This feature is controlled by `ValueBoxBase.setDirectionEstimator(boolean)`, and is available by default when at least one of the application's locales is right-to-left.

### Example

>     public class TextBoxExample implements EntryPoint {

>       public void onModuleLoad() {
>         // Make some text boxes. The password text box is identical to the text
>         // box, except that the input is visually masked by the browser.
>         PasswordTextBox ptb = new PasswordTextBox();
>         TextBox tb = new TextBox();

>         // TODO(ECC) must be tested.
>         tb.addKeyPressHandler(new KeyPressHandler() {

>           public void onKeyPress(KeyPressEvent event) {
>             if (!Character.isDigit(event.getCharCode())) {
>               ((TextBox) event.getSource()).cancelKey();
>             }
>           }
>         });

>         // Let's make an 80x50 text area to go along with the other two.
>         TextArea ta = new TextArea();
>         ta.setCharacterWidth(80);
>         ta.setVisibleLines(50);

>         // Add them to the root panel.
>         VerticalPanel panel = new VerticalPanel();
>         panel.add(tb);
>         panel.add(ptb);
>         panel.add(ta);
>         RootPanel.get().add(panel);
>       }
>     }

### Nested Class Summary

### Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.TextBoxBase

`TextBoxBase.TextAlignConstant`

### Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.ValueBoxBase

`ValueBoxBase.TextAlignment`

### Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

`UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

### Nested classes/interfaces inherited from interface com.google.gwt.i18n.client.HasDirection

`HasDirection.Direction`

### Field Summary

### Fields inherited from class com.google.gwt.user.client.ui.TextBoxBase

`ALIGN_CENTER, ALIGN_JUSTIFY, ALIGN_LEFT, ALIGN_RIGHT`

### Fields inherited from class com.google.gwt.user.client.ui.Widget

`eventsToSink`

### Fields inherited from class com.google.gwt.user.client.ui.UIObject

`DEBUG_ID_PREFIX, MISSING_ELEMENT_ERROR, SETELEMENT_TWICE_ERROR`

### Constructor Summary

Constructors
`` `TextArea()` Creates an empty text area.
`protected` `TextArea(Element element)` This constructor may be used by subclasses to explicitly use an existing element.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`int` `getCharacterWidth()` Gets the requested width of the text box (this is not an exact value, as not all characters are created equal).
`int` `getCursorPos()` Gets the current position of the cursor (this also serves as the beginning of the text selection).
`int` `getSelectionLength()` Gets the length of the current text selection.
`int` `getVisibleLines()` Gets the number of text lines that are visible.
`void` `setCharacterWidth(int width)` Sets the requested width of the text box (this is not an exact value, as not all characters are created equal).
`void` `setVisibleLines(int lines)` Sets the number of text lines that are visible.
`static TextArea` `wrap(Element element)` Creates a TextArea widget that wraps an existing <textarea> element.

### Methods inherited from class com.google.gwt.user.client.ui.TextBoxBase

`addChangeListener, getValue, setTextAlignment`

### Methods inherited from class com.google.gwt.user.client.ui.ValueBoxBase

`addChangeHandler, addValueChangeHandler, asEditor, cancelKey, getDirection, getDirectionEstimator, getImpl, getName, getSelectedText, getText, getValueOrThrow, isReadOnly, onBrowserEvent, onLoad, removeChangeListener, selectAll, setAlignment, setCursorPos, setDirection, setDirectionEstimator, setDirectionEstimator, setKey, setName, setReadOnly, setSelectionRange, setText, setValue, setValue`

### Methods inherited from class com.google.gwt.user.client.ui.FocusWidget

`addBlurHandler, addClickHandler, addClickListener, addDoubleClickHandler, addDragEndHandler, addDragEnterHandler, addDragHandler, addDragLeaveHandler, addDragOverHandler, addDragStartHandler, addDropHandler, addFocusHandler, addFocusListener, addGestureChangeHandler, addGestureEndHandler, addGestureStartHandler, addKeyboardListener, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, addMouseDownHandler, addMouseListener, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseUpHandler, addMouseWheelHandler, addMouseWheelListener, addTouchCancelHandler, addTouchEndHandler, addTouchMoveHandler, addTouchStartHandler, getFocusImpl, getTabIndex, isEnabled, onAttach, removeClickListener, removeFocusListener, removeKeyboardListener, removeMouseListener, removeMouseWheelListener, setAccessKey, setEnabled, setFocus, setTabIndex`

### Methods inherited from class com.google.gwt.user.client.ui.Widget

`addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, ensureHandlers, fireEvent, getHandlerCount, getHandlerManager, getLayoutData, getParent, isAttached, isOrWasAttached, onDetach, onUnload, removeFromParent, replaceElement, setLayoutData, setParent, sinkEvents, unsinkEvents`

### Methods inherited from class com.google.gwt.user.client.ui.UIObject

`addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString`

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

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

### Methods inherited from interface com.google.gwt.user.client.ui.SourcesChangeEvents

`removeChangeListener`

### Methods inherited from interface com.google.gwt.event.dom.client.HasKeyUpHandlers

`addKeyUpHandler`

### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

`fireEvent`

### Constructor Detail

#### TextArea

    public TextArea()

Creates an empty text area.

#### TextArea

    protected TextArea(Element element)

This constructor may be used by subclasses to explicitly use an existing element. This element must be a <textarea> element.

Parameters:
  `element` - the element to be used

### Method Detail

#### wrap

    public static TextArea wrap(Element element)

Creates a TextArea widget that wraps an existing <textarea> element. This element must already be attached to the document. If the element is removed from the document, you must call `RootPanel.detachNow(Widget)`.

Parameters:
  `element` - the element to be wrapped

#### getCharacterWidth

    public int getCharacterWidth()

Gets the requested width of the text box (this is not an exact value, as not all characters are created equal).

Returns:
  the requested width, in characters

#### getCursorPos

    public int getCursorPos()

Description copied from class: `ValueBoxBase`
Gets the current position of the cursor (this also serves as the beginning of the text selection).

Overrides:
  `getCursorPos` in class `ValueBoxBase<java.lang.String>`
Returns:
  the cursor's position

#### getSelectionLength

    public int getSelectionLength()

Description copied from class: `ValueBoxBase`
Gets the length of the current text selection.

Overrides:
  `getSelectionLength` in class `ValueBoxBase<java.lang.String>`
Returns:
  the text selection length

#### getVisibleLines

    public int getVisibleLines()

Gets the number of text lines that are visible.

Returns:
  the number of visible lines

#### setCharacterWidth

    public void setCharacterWidth(int width)

Sets the requested width of the text box (this is not an exact value, as not all characters are created equal).

Parameters:
  `width` - the requested width, in characters

#### setVisibleLines

    public void setVisibleLines(int lines)

Sets the number of text lines that are visible.

Parameters:
  `lines` - the number of visible lines