A
JTextArea
is a multi-line area that displays plain text. It is intended to be a lightweight component that provides source compatibility with the
java.awt.TextArea
class where it can reasonably do so. You can find information and examples of using all the text components in
Using Text Components , a section in
The Java Tutorial.
This component has capabilities not found in the java.awt.TextArea
class. The superclass should be consulted for additional capabilities. Alternative multi-line text classes with more capabilities are JTextPane
and JEditorPane
.
The java.awt.TextArea
internally handles scrolling. JTextArea
is different in that it doesn't manage scrolling, but implements the swing Scrollable
interface. This allows it to be placed inside a JScrollPane
if scrolling behavior is desired, and used directly if scrolling is not desired.
The java.awt.TextArea
has the ability to do line wrapping. This was controlled by the horizontal scrolling policy. Since scrolling is not done by JTextArea
directly, backward compatibility must be provided another way. JTextArea
has a bound property for line wrapping that controls whether or not it will wrap lines. By default, the line wrapping property is set to false (not wrapped).
java.awt.TextArea
has two properties rows
and columns
that are used to determine the preferred size. JTextArea
uses these properties to indicate the preferred size of the viewport when placed inside a JScrollPane
to match the functionality provided by java.awt.TextArea
. JTextArea
has a preferred size of what is needed to display all of the text, so that it functions properly inside of a JScrollPane
. If the value for rows
or columns
is equal to zero, the preferred size along that axis is used for the viewport preferred size along the same axis.
The java.awt.TextArea
could be monitored for changes by adding a TextListener
for TextEvent
s. In the JTextComponent
based components, changes are broadcasted from the model via a DocumentEvent
to DocumentListeners
. The DocumentEvent
gives the location of the change and the kind of change if desired. The code fragment might look something like:
DocumentListener myListener = ??;
JTextArea myArea = ??;
myArea.getDocument().addDocumentListener(myListener);
-
Newlines
- For a discussion on how newlines are handled, see DefaultEditorKit.
Warning: Swing is not thread safe. For more information see Swing's Threading Policy .
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
.