All Packages Class Hierarchy This Package Previous Next Index
Class com.sun.java.swing.JTextArea
java.lang.Object
|
+----java.awt.Component
|
+----java.awt.Container
|
+----com.sun.java.swing.JComponent
|
+----com.sun.java.swing.text.JTextComponent
|
+----com.sun.java.swing.JTextArea
- public class JTextArea
- extends JTextComponent
A TextArea 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. 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 capabilitites 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.
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: 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 Swing1.0 applications. It will
not be possible to load serialized Swing1.0 objects with future releases
of Swing. The JDK1.2 release of Swing will be the compatibility
baseline for the serialized form of Swing objects.
- See Also:
- JTextPane, JEditorPane
-
JTextArea()
- Constructs a new TextArea.
-
JTextArea(Document)
- Constructs a new JTextArea with the given document model, and defaults
for all of the other arguments.
-
JTextArea(Document, String, int, int)
- Constructs a new JTextArea with the specified number of rows
and columns, and the given model.
-
JTextArea(int, int)
- Constructs a new empty TextArea with the specified number of
rows and columns.
-
JTextArea(String)
- Constructs a new TextArea with the specified text displayed.
-
JTextArea(String, int, int)
- Constructs a new TextArea with the specified text and number
of rows and columns.
-
append(String)
- Appends the given text to the end of the document.
-
createDefaultModel()
- Creates the default implementation of the model
to be used at construction if one isn't explicitly
given.
-
getAccessibleContext()
- Get the AccessibleContext associated with this JTextArea
-
getColumns()
- Returns the number of columns in the TextArea.
-
getColumnWidth()
- Gets column width.
-
getLineCount()
- Determine the number of lines contained.
-
getLineEndOffset(int)
- Determine the offset of the end of the given line.
-
getLineOfOffset(int)
- Translate an offset into the components text to a
line number.
-
getLineStartOffset(int)
- Determine the offset of the start of the given line.
-
getLineWrap()
- Get the line-wrapping policy of the text area.
-
getMinimumSize()
- Returns the minimum size Dimensions of the TextArea.
-
getPreferredScrollableViewportSize()
- Returns the preferred size of the viewport if this component
is embedded in a JScrollPane.
-
getRowHeight()
- Defines the meaning of the height of a row.
-
getRows()
- Returns the number of rows in the TextArea.
-
getScrollableTracksViewportWidth()
- Returns true if a viewport should always force the width of this
Scrollable to match the width of the viewport.
-
getScrollableUnitIncrement(Rectangle, int, int)
- 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.
-
getTabSize()
- Gets the number of characters used to expand tabs.
-
getUIClassID()
- Returns the class ID for the UI.
-
insert(String, int)
- Inserts the specified text at the specified position.
-
isManagingFocus()
- Turns off tab traversal once focus gained.
-
paramString()
- Returns the String of parameters for this TextArea.
-
replaceRange(String, int, int)
- Replaces text from the indicated start to end position with the
new text specified.
-
setColumns(int)
- Sets the number of columns for this TextArea.
-
setFont(Font)
- Sets the current font.
-
setLineWrap(boolean)
- Set the line-wrapping policy of the text area.
-
setRows(int)
- Sets the number of rows for this TextArea.
-
setTabSize(int)
- Sets the number of characters to expand tabs to.
JTextArea
public JTextArea()
- Constructs a new TextArea.
JTextArea
public JTextArea(String text)
- Constructs a new TextArea with the specified text displayed.
- Parameters:
- text - the text to be displayed
JTextArea
public JTextArea(int rows,
int columns)
- Constructs a new empty TextArea with the specified number of
rows and columns.
- Parameters:
- rows - the number of rows
- columns - the number of columns
JTextArea
public JTextArea(String text,
int rows,
int columns)
- Constructs a new TextArea with the specified text and number
of rows and columns.
- Parameters:
- text - the text to be displayed
- rows - the number of rows
- columns - the number of columns
JTextArea
public JTextArea(Document doc)
- Constructs a new JTextArea with the given document model, and defaults
for all of the other arguments.
- Parameters:
- doc - the model to use
JTextArea
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.
- Parameters:
- doc - the model to use
- text - the text to be displayed
- rows - the number of rows
- columns - the number of columns
getUIClassID
public String getUIClassID()
- Returns the class ID for the UI.
- Returns:
- the ID
- Overrides:
- getUIClassID in class JComponent
- See Also:
- getUIClassID, getUI
createDefaultModel
protected Document createDefaultModel()
- Creates the default implementation of the model
to be used at construction if one isn't explicitly
given.
- Returns:
- the default document model
setTabSize
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.
- Parameters:
- size - number of characters to expand to
- See Also:
- getTabSize
getTabSize
public int getTabSize()
- Gets the number of characters used to expand tabs.
- Returns:
- the number of characters
setLineWrap
public void setLineWrap(boolean wrap)
- Set 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.
- Parameters:
- wrap - indicates if lines should be wrapped.
- See Also:
- getLineWrap
getLineWrap
public boolean getLineWrap()
- Get 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.
- Returns:
- s if lines will be wrapped.
getLineOfOffset
public int getLineOfOffset(int offset) throws BadLocationException
- Translate an offset into the components text to a
line number.
- Throws: BadLocationException
- Thrown if the offset is
less than zero or greater than the document length.
getLineCount
public int getLineCount()
- Determine the number of lines contained.
getLineStartOffset
public int getLineStartOffset(int line) throws BadLocationException
- Determine the offset of the start of the given line.
- Parameters:
- line - The line number to translate. Lines are
numbered from 0.
- Throws: BadLocationException
- Thrown if the line is
less than zero or greater or equal to the number of
lines contained in the document (as reported by
getLineCount).
getLineEndOffset
public int getLineEndOffset(int line) throws BadLocationException
- Determine the offset of the end of the given line.
- Parameters:
- line - The line number to translate. Lines are
numbered from 0.
- Throws: BadLocationException
- Thrown if the line is
less than zero or greater or equal to the number of
lines contained in the document (as reported by
getLineCount).
insert
public void insert(String str,
int pos)
- Inserts the specified text at the specified position.
This method is thread safe, although most Swing methods
are not. Please see
Threads
and Swing for more information.
- Parameters:
- str - the text to insert
- pos - the position at which to insert
- Throws: IllegalArgumentException
- if pos is an
invalid position in the model
- See Also:
- setText, replaceRange
append
public void append(String str)
- Appends the given text to the end of the document.
This method is thread safe, although most Swing methods
are not. Please see
Threads
and Swing for more information.
- Parameters:
- str - the text to insert
- See Also:
- insert
replaceRange
public void replaceRange(String str,
int start,
int end)
- Replaces text from the indicated start to end position with the
new text specified.
This method is thread safe, although most Swing methods
are not. Please see
Threads
and Swing for more information.
- Parameters:
- str - the text to use as the replacement
- start - the start position
- end - the end position
- Throws: IllegalArgumentException
- if part of the range is an
invalid position in the model
- See Also:
- insert, replaceRange
isManagingFocus
public boolean isManagingFocus()
- Turns off tab traversal once focus gained.
- Returns:
- true, to indicate that the focus is being managed
- Overrides:
- isManagingFocus in class JComponent
getRows
public int getRows()
- Returns the number of rows in the TextArea.
- Returns:
- the number of rows
setRows
public void setRows(int rows)
- Sets the number of rows for this TextArea.
- Parameters:
- rows - the number of rows
- Throws: IllegalArgumentException
- if rows is less than 0
- See Also:
- getRows
getRowHeight
protected int getRowHeight()
- Defines the meaning of the height of a row. This defaults to
the height of the font.
- Returns:
- the height
getColumns
public int getColumns()
- Returns the number of columns in the TextArea.
- Returns:
- number of columns
setColumns
public void setColumns(int columns)
- Sets the number of columns for this TextArea.
- Parameters:
- columns - the number of columns
- Throws: IllegalArgumentException
- if columns is less than 0
- See Also:
- getColumns
getColumnWidth
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.
- Returns:
- the column width
getMinimumSize
public Dimension getMinimumSize()
- Returns the minimum size Dimensions of the TextArea.
By default this is set to the preferred size.
- Returns:
- the dimensions
- Overrides:
- getMinimumSize in class JComponent
setFont
public void setFont(Font f)
- Sets the current font. This removes cached row height and column
width so the new font will be reflected.
- Parameters:
- f - the font to use as the current font
- Overrides:
- setFont in class Component
paramString
protected String paramString()
- Returns the String of parameters for this TextArea.
- Returns:
- the string of parameters
- Overrides:
- paramString in class Container
getScrollableTracksViewportWidth
public boolean getScrollableTracksViewportWidth()
- 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.
- Returns:
- True if a viewport should force the Scrollables width to match its own.
- Overrides:
- getScrollableTracksViewportWidth in class JTextComponent
getPreferredScrollableViewportSize
public Dimension getPreferredScrollableViewportSize()
- 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.
- Returns:
- The preferredSize of a JViewport whose view is this Scrollable.
- Overrides:
- getPreferredScrollableViewportSize in class JTextComponent
- See Also:
- getPreferredSize
getScrollableUnitIncrement
public int getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction)
- 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 vaules returned by the
getRowHeight
and
getColumnWidth
methods.
Scrolling containers, like JScrollPane, will use this method
each time the user requests a unit scroll.
- Parameters:
- visibleRect - The view area visible within the viewport
- orientation - Either SwingConstants.VERTICAL or SwingConstants.HORIZONTAL.
- direction - Less than zero to scroll up/left, greater than zero for down/right.
- Returns:
- The "unit" increment for scrolling in the specified direction
- Overrides:
- getScrollableUnitIncrement in class JTextComponent
- See Also:
- setUnitIncrement, getRowHeight, getColumnWidth
getAccessibleContext
public AccessibleContext getAccessibleContext()
- Get the AccessibleContext associated with this JTextArea
- Returns:
- the AccessibleContext of this JTextArea
- Overrides:
- getAccessibleContext in class JTextComponent
All Packages Class Hierarchy This Package Previous Next Index