# Class BasicTextAreaUI

java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.TextUI
javax.swing.plaf.basic.BasicTextUI
javax.swing.plaf.basic.BasicTextAreaUI

All Implemented Interfaces:
  `ViewFactory`

Direct Known Subclasses:
  `SynthTextAreaUI`

public class BasicTextAreaUI extends BasicTextUI
Provides the look and feel for a plain text editor. In this implementation the default UI is extended to act as a simple view factory.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans has been added to the `java.beans` package. Please see `XMLEncoder`.

- ## Nested Class Summary

  ### Nested classes/interfaces declared in class BasicTextUI

  `BasicTextUI.BasicCaret, BasicTextUI.BasicHighlighter`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BasicTextAreaUI()`
  Constructs a new BasicTextAreaUI object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `View`
  `create(Element elem)`
  Creates a view for an element.
  `static ComponentUI`
  `createUI(JComponent ta)`
  Creates a UI for a JTextArea.
  `int`
  `getBaseline(JComponent c, int width, int height)`
  Returns the baseline.
  `Component.BaselineResizeBehavior`
  `getBaselineResizeBehavior(JComponent c)`
  Returns an enum indicating how the baseline of the component changes as the size changes.
  `Dimension`
  `getMinimumSize(JComponent c)`
  The method is overridden to take into account caret width.
  `Dimension`
  `getPreferredSize(JComponent c)`
  The method is overridden to take into account caret width.
  `protected String`
  `getPropertyPrefix()`
  Fetches the name used as a key to look up properties through the UIManager.
  `protected void`
  `propertyChange(PropertyChangeEvent evt)`
  This method gets called when a bound property is changed on the associated JTextComponent.

  ### Methods declared in class BasicTextUI

  `create, createCaret, createHighlighter, createKeymap, damageRange, damageRange, getComponent, getEditorKit, getKeymapName, getMaximumSize, getNextVisualPositionFrom, getRootView, getToolTipText, getVisibleEditorRect, installDefaults, installKeyboardActions, installListeners, installUI, modelChanged, modelToView, modelToView, paint, paintBackground, paintSafely, setView, uninstallDefaults, uninstallKeyboardActions, uninstallListeners, uninstallUI, update, viewToModel, viewToModel`

  ### Methods declared in class TextUI

  `getToolTipText2D, modelToView2D, viewToModel2D`

  ### Methods declared in class ComponentUI

  `contains, getAccessibleChild, getAccessibleChildrenCount`

  ### Methods declared in class Object

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

- ## Constructor Details

  - ### BasicTextAreaUI

    public BasicTextAreaUI()
    Constructs a new BasicTextAreaUI object.

- ## Method Details

  - ### createUI

    public static ComponentUI createUI(JComponent ta)
    Creates a UI for a JTextArea.
    Parameters:
      `ta` - a text area
    Returns:
      the UI

  - ### getPropertyPrefix

    protected String getPropertyPrefix()
    Fetches the name used as a key to look up properties through the UIManager. This is used as a prefix to all the standard text properties.
    Specified by:
      `getPropertyPrefix` in class `BasicTextUI`
    Returns:
      the name ("TextArea")

  - ### propertyChange

    protected void propertyChange(PropertyChangeEvent evt)
    This method gets called when a bound property is changed on the associated JTextComponent. This is a hook which UI implementations may change to reflect how the UI displays bound properties of JTextComponent subclasses. This is implemented to rebuild the View when the WrapLine or the WrapStyleWord property changes.
    Overrides:
      `propertyChange` in class `BasicTextUI`
    Parameters:
      `evt` - the property change event

  - ### getPreferredSize

    public Dimension getPreferredSize(JComponent c)
    The method is overridden to take into account caret width.
    Overrides:
      `getPreferredSize` in class `BasicTextUI`
    Parameters:
      `c` - the editor component
    Returns:
      the preferred size
    Throws:
      `IllegalArgumentException` - if invalid value is passed
    Since:
      1.5
    See Also:
      - `JComponent.getPreferredSize()`
      - `LayoutManager.preferredLayoutSize(Container)`

  - ### getMinimumSize

    public Dimension getMinimumSize(JComponent c)
    The method is overridden to take into account caret width.
    Overrides:
      `getMinimumSize` in class `BasicTextUI`
    Parameters:
      `c` - the editor component
    Returns:
      the minimum size
    Throws:
      `IllegalArgumentException` - if invalid value is passed
    Since:
      1.5
    See Also:
      - `JComponent.getMinimumSize()`
      - `LayoutManager.minimumLayoutSize(Container)`
      - `ComponentUI.getPreferredSize(JComponent)`

  - ### create

    public View create(Element elem)
    Creates a view for an element.
    Specified by:
      `create` in interface `ViewFactory`
    Overrides:
      `create` in class `BasicTextUI`
    Parameters:
      `elem` - the element
    Returns:
      the view for the element
    See Also:
      - `View`

  - ### getBaseline

    public int getBaseline(JComponent c, int width, int height)
    Returns the baseline.
    Overrides:
      `getBaseline` in class `ComponentUI`
    Parameters:
      `c` - `JComponent` baseline is being requested for
      `width` - the width to get the baseline for
      `height` - the height to get the baseline for
    Returns:
      baseline or a value < 0 indicating there is no reasonable baseline
    Throws:
      `NullPointerException` - if `c` is `null`
      `IllegalArgumentException` - if width or height is < 0
    Since:
      1.6
    See Also:
      - `JComponent.getBaseline(int, int)`

  - ### getBaselineResizeBehavior

    public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
    Returns an enum indicating how the baseline of the component changes as the size changes.
    Overrides:
      `getBaselineResizeBehavior` in class `ComponentUI`
    Parameters:
      `c` - `JComponent` to return baseline resize behavior for
    Returns:
      an enum indicating how the baseline changes as the component size changes
    Throws:
      `NullPointerException` - if `c` is `null`
    Since:
      1.6
    See Also:
      - `JComponent.getBaseline(int, int)`