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);
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 java.
.
JTextPane
, JEditorPane
Modifier and Type | Class and Description |
---|---|
protected class | JTextArea.
This class implements accessibility support for the
|
Modifier and Type | Field and Description |
---|---|
private int | |
private int | |
private int | |
private int | |
private static final String | |
private boolean | |
private boolean |
Access | Constructor and Description |
---|---|
public | |
public | |
public | JTextArea(int
the number of rows >= 0 rows, int the number of columns >= 0 columns)Constructs a new empty TextArea with the specified number of rows and columns. |
public | |
public | |
public |
Modifier and Type | Method and Description |
---|---|
public void | |
protected Document | Returns: the default document modelCreates the default implementation of the model to be used at construction if one isn't explicitly given. |
public AccessibleContext | Returns: an AccessibleJTextArea that serves as the AccessibleContext of this JTextAreaOverrides javax. Implements javax. |
public int | |
protected int | |
public int | |
public int | Returns: the offset >= 0the line >= 0 line)Determines the offset of the end of the given line. |
public int | Returns: the line number >= 0the offset >= 0 offset)Translates an offset into the components text to a line number. |
public int | Returns: the offset >= 0the line number to translate >= 0 line)Determines the offset of the start of the given line. |
public boolean | |
public Dimension | Returns: The preferredSize of a JViewport whose view is this Scrollable.Overrides javax. Implements javax. |
public Dimension | Returns: the sizeOverrides javax. |
protected int | |
public int | |
public boolean | Returns: true if a viewport should force the Scrollables width to match its own.Overrides javax. Implements javax. |
public int | Returns: The "unit" increment for scrolling in the specified directionthe view area visible within the viewport visibleRect, int Either SwingConstants.VERTICAL or
SwingConstants.HORIZONTAL. orientation, int Less than zero to scroll up/left,
greater than zero for down/right. direction)Overrides javax. Implements javax. |
public int | |
public String | Returns: the string "TextAreaUI"Overrides javax. |
public boolean | Returns: if the wrap style should be word boundaries instead of character boundariesGets the style of wrapping used if the text area is wrapping lines. |
public void | |
protected String | Returns: a string representation of this JTextArea.Overrides javax. |
public void | replaceRange(String
the text to use as the replacement str, int the start position >= 0 start, int the end position >= start end)Replaces text from the indicated start to end position with the new text specified. |
public void | |
public void | setFont(Font
the font to use as the current font f)Overrides javax. |
public void | setLineWrap(boolean
indicates if lines should be wrapped wrap)Sets the line-wrapping policy of the text area. |
public void | |
public void | setTabSize(int
number of characters to expand to size)Sets the number of characters to expand tabs to. |
public void | setWrapStyleWord(boolean
indicates if word boundaries should be used
for line wrapping word)Sets the style of wrapping used if the text area is wrapping lines. |
private void | writeObject(ObjectOutputStream
the s)
See readObject() and writeObject() in JComponent for more
information about serialization in Swing.
ObjectOutputStream in which to write |
columns | back to summary |
---|---|
private int columns |
columnWidth | back to summary |
---|---|
private int columnWidth |
rowHeight | back to summary |
---|---|
private int rowHeight |
rows | back to summary |
---|---|
private int rows |
uiClassID | back to summary |
---|---|
private static final String uiClassID Hides javax.
|
word | back to summary |
---|---|
private boolean word |
wrap | back to summary |
---|---|
private boolean wrap |
JTextArea | back to summary |
---|---|
public JTextArea() Constructs a new TextArea. A default model is set, the initial string is null, and rows/columns are set to 0. |
JTextArea | back to summary |
---|---|
public JTextArea(String text) Constructs a new TextArea with the specified text displayed. A default model is created and rows/columns are set to 0.
|
JTextArea | back to summary |
---|---|
public JTextArea(int rows, int columns) Constructs a new empty TextArea with the specified number of rows and columns. A default model is created, and the initial string is null.
|
JTextArea | back to summary |
---|---|
public JTextArea(String text, int rows, int columns) Constructs a new TextArea with the specified text and number of rows and columns. A default model is created.
|
JTextArea | back to summary |
---|---|
public JTextArea(Document doc) Constructs a new JTextArea with the given document model, and defaults for all of the other arguments (null, 0, 0).
|
JTextArea | back to summary |
---|---|
public JTextArea(Document doc, String text, int rows, int columns) Constructs a new JTextArea with the specified number of rows and columns, and the given model. All of the constructors feed through this constructor.
|
append | back to summary |
---|---|
public void append(String str) Appends the given text to the end of the document. Does nothing if the model is null or the string is null or empty. |
createDefaultModel | back to summary |
---|---|
protected Document createDefaultModel() Creates the default implementation of the model to be used at construction if one isn't explicitly given. A new instance of PlainDocument is returned.
|
getAccessibleContext | back to summary |
---|---|
public AccessibleContext getAccessibleContext() Overrides javax. Implements javax. Gets the AccessibleContext associated with this JTextArea. For JTextAreas, the AccessibleContext takes the form of an AccessibleJTextArea. A new AccessibleJTextArea instance is created if necessary.
|
getColumns | back to summary |
---|---|
public int getColumns() Returns the number of columns in the TextArea.
|
getColumnWidth | back to summary |
---|---|
protected int getColumnWidth() Gets column width. The meaning of what a column is can be considered a fairly weak notion for some fonts. This method is used to define the width of a column. By default this is defined to be the width of the character m for the font used. This method can be redefined to be some alternative amount.
|
getLineCount | back to summary |
---|---|
public int getLineCount() Determines the number of lines contained in the area.
|
getLineEndOffset | back to summary |
---|---|
public int getLineEndOffset(int line) throws BadLocationException Determines the offset of the end of the given line.
|
getLineOfOffset | back to summary |
---|---|
public int getLineOfOffset(int offset) throws BadLocationException Translates an offset into the components text to a line number.
|
getLineStartOffset | back to summary |
---|---|
public int getLineStartOffset(int line) throws BadLocationException Determines the offset of the start of the given line.
|
getLineWrap | back to summary |
---|---|
public boolean getLineWrap() Gets the line-wrapping policy of the text area. If set to true the lines will be wrapped if they are too long to fit within the allocated width. If set to false, the lines will always be unwrapped.
|
getPreferredScrollableViewportSize | back to summary |
---|---|
public Dimension getPreferredScrollableViewportSize() Overrides javax. Implements javax. Returns the preferred size of the viewport if this component is embedded in a JScrollPane. This uses the desired column and row settings if they have been set, otherwise the superclass behavior is used.
|
getPreferredSize | back to summary |
---|---|
public Dimension getPreferredSize() Overrides javax. Returns the preferred size of the TextArea. This is the maximum of the size needed to display the text and the size requested for the viewport.
|
getRowHeight | back to summary |
---|---|
protected int getRowHeight() Defines the meaning of the height of a row. This defaults to the height of the font.
|
getRows | back to summary |
---|---|
public int getRows() Returns the number of rows in the TextArea.
|
getScrollableTracksViewportWidth | back to summary |
---|---|
public boolean getScrollableTracksViewportWidth() Overrides javax. Implements javax. Returns true if a viewport should always force the width of this Scrollable to match the width of the viewport. This is implemented to return true if the line wrapping policy is true, and false if lines are not being wrapped.
|
getScrollableUnitIncrement | back to summary |
---|---|
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) Overrides javax. Implements javax. Components that display logical rows or columns should compute
the scroll increment that will completely expose one new row
or column, depending on the value of orientation. This is implemented
to use the values returned by the Scrolling containers, like JScrollPane, will use this method each time the user requests a unit scroll.
|
getTabSize | back to summary |
---|---|
public int getTabSize() Gets the number of characters used to expand tabs. If the document is null or doesn't have a tab setting, return a default of 8.
|
getUIClassID | back to summary |
---|---|
public String getUIClassID() Overrides javax. Returns the class ID for the UI.
|
getWrapStyleWord | back to summary |
---|---|
public boolean getWrapStyleWord() Gets the style of wrapping used if the text area is wrapping lines. If set to true the lines will be wrapped at word boundaries (ie whitespace) if they are too long to fit within the allocated width. If set to false, the lines will be wrapped at character boundaries.
|
insert | back to summary |
---|---|
public void insert(String str, int pos) Inserts the specified text at the specified position. Does nothing if the model is null or if the text is null or empty.
|
paramString | back to summary |
---|---|
protected String paramString() Overrides javax. Returns a string representation of this JTextArea. This method
is intended to be used only for debugging purposes, and the
content and format of the returned string may vary between
implementations. The returned string may be empty but may not
be
|
replaceRange | back to summary |
---|---|
public void replaceRange(String str, int start, int end) Replaces text from the indicated start to end position with the new text specified. Does nothing if the model is null. Simply does a delete if the new string is null or empty.
|
setColumns | back to summary |
---|---|
public void setColumns(int columns) Sets the number of columns for this TextArea. Does an invalidate() after setting the new value.
|
setFont | back to summary |
---|---|
public void setFont(Font f) Overrides javax. Sets the current font. This removes cached row height and column width so the new font will be reflected, and calls revalidate().
|
setLineWrap | back to summary |
---|---|
public void setLineWrap(boolean wrap) Sets the line-wrapping policy of the text area. If set
to true the lines will be wrapped if they are too long
to fit within the allocated width. If set to false,
the lines will always be unwrapped. A
|
setRows | back to summary |
---|---|
public void setRows(int rows) Sets the number of rows for this TextArea. Calls invalidate() after setting the new value.
|
setTabSize | back to summary |
---|---|
public void setTabSize(int size) Sets the number of characters to expand tabs to. This will be multiplied by the maximum advance for variable width fonts. A PropertyChange event ("tabSize") is fired when the tab size changes.
|
setWrapStyleWord | back to summary |
---|---|
public void setWrapStyleWord(boolean word) Sets the style of wrapping used if the text area is wrapping lines. If set to true the lines will be wrapped at word boundaries (whitespace) if they are too long to fit within the allocated width. If set to false, the lines will be wrapped at character boundaries. By default this property is false.
|
writeObject | back to summary |
---|---|
private void writeObject(ObjectOutputStream s) throws IOException Hides javax. See readObject() and writeObject() in JComponent for more information about serialization in Swing.
|
JTextArea
class. It provides an implementation of the
Java Accessibility API appropriate to text area user-interface
elements.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 java.
.
Access | Constructor and Description |
---|---|
protected |
Modifier and Type | Method and Description |
---|---|
public AccessibleStateSet | Returns: an instance of AccessibleStateSet describing the states of the objectOverrides javax. |
AccessibleJTextArea | back to summary |
---|---|
protected AccessibleJTextArea() Constructs an |
getAccessibleStateSet | back to summary |
---|---|
public AccessibleStateSet getAccessibleStateSet() Overrides javax. Gets the state set of this object.
|