|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object![]()
![]()
![]()
java.awt.Component
![]()
![]()
![]()
java.awt.Container
![]()
![]()
![]()
javax.swing.JComponent
![]()
![]()
![]()
javax.swing.text.JTextComponent
, MenuContainer
, Serializable
, Accessible
, Scrollable

, JTextArea
, JTextField

public abstract class JTextComponent

, Accessible

JTextComponent is the base class for swing text
components. It tries to be compatible with the
java.awt.TextComponent class
where it can reasonably do so. Also provided are other services
for additional flexibility (beyond the pluggable UI and bean
support).
You can find information on how to use the functionality
this class provides in
General Rules for Using Text Components,
a section in The Java Tutorial.
CaretListener
interface that have been registered with the text component.
The UI will install a default caret unless a customized caret
has been set. DefaultCaret
tries to make itself visible which may lead to scrolling
of a text component within JScrollPane. The default caret
behavior can be changed by the DefaultCaret.setUpdatePolicy(int)
method.
Action interface,
using the TextAction implementation.
The set of commands supported by the text component can be
found with the getActions()
method. These actions
can be bound to key events, fired from buttons, etc.
A Keymap
lets an application bind key
strokes to actions.
In order to allow keymaps to be shared across multiple text components, they
can use actions that extend TextAction.
TextAction can determine which JTextComponent
most recently has or had focus and therefore is the subject of
the action (In the case that the ActionEvent
sent to the action doesn't contain the target text component as its source).
The input method framework
lets text components interact with input methods, separate software
components that preprocess events to let users enter thousands of
different characters using keyboards with far fewer keys.
JTextComponent is an active client of
the framework, so it implements the preferred user interface for interacting
with input methods. As a consequence, some key events do not reach the text
component because they are handled by an input method, and some text input
reaches the text component as committed text within an InputMethodEvent
instead of as a key event.
The complete text input is the combination of the characters in
keyTyped key events and committed text in input method events.
The AWT listener model lets applications attach event listeners to components in order to bind events to actions. Swing encourages the use of keymaps instead of listeners, but maintains compatibility with listeners by giving the listeners a chance to steal an event by consuming it.
Keyboard event and input method events are handled in the following stages, with each stage capable of consuming the event:
Stage |
KeyEvent |
InputMethodEvent |
|---|---|---|
| 1. | input methods | (generated here) |
| 2. | focus manager | |
| 3. | registered key listeners | registered input method listeners |
| 4. | input method handling in JTextComponent | |
| 5. | keymap handling using the current keymap | |
| 6. | keyboard handling in JComponent (e.g. accelerators, component navigation, etc.) | |
To maintain compatibility with applications that listen to key events but are not aware of input method events, the input method handling in stage 4 provides a compatibility mode for components that do not process input method events. For these components, the committed text is converted to keyTyped key events and processed in the key event pipeline starting at stage 3 instead of in the input method event pipeline.
By default the component will create a keymap (named DEFAULT_KEYMAP) that is shared by all JTextComponent instances as the default keymap. Typically a look-and-feel implementation will install a different keymap that resolves to the default keymap for those bindings not found in the different keymap. The minimal bindings include:

The model is defined by the Document
interface.
This is intended to provide a flexible text storage mechanism
that tracks change during edits and can be extended to more sophisticated
models. The model interfaces are meant to capture the capabilities of
expression given by SGML, a system used to express a wide variety of
content.
Each modification to the document causes notification of the
details of the change to be sent to all observers in the form of a
DocumentEvent
which allows the views to stay up to date with the model.
This event is sent to observers that have implemented the
DocumentListener
interface and registered interest with the model being observed.
modelToView(int)
and viewToModel(java.awt.Point)
for determining this information.
UndoableEdit records that can be used in conjunction
with a history buffer to provide the undo/redo support.
The support is provided by the Document model, which allows
one to attach UndoableEditListener implementations.
AbstractDocument
describes the assumptions of the protection provided.
The methods that are safe to call asynchronously are marked
with comments.
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 JavaBeansTM
has been added to the java.beans package.
Please see XMLEncoder
.
Document
,
DocumentEvent
,
DocumentListener
,
Caret
,
CaretEvent
,
CaretListener
,
TextUI
,
View
,
ViewFactory
,
Serialized Form| Nested Class Summary | |
|---|---|
class |
JTextComponent.AccessibleJTextComponent
This class implements accessibility support for the JTextComponent class. |
static class |
JTextComponent.KeyBinding
Binding record for creating key bindings. |
Nested classes/interfaces inherited from class javax.swing.JComponent ![]() |
|---|
JComponent.AccessibleJComponent |
Nested classes/interfaces inherited from class java.awt.Container ![]() |
|---|
Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component ![]() |
|---|
Component.AccessibleAWTComponent |
| Field Summary | |
|---|---|
static String |
DEFAULT_KEYMAP
The default keymap that will be shared by all JTextComponent instances unless they
have had a different keymap set. |
static String |
FOCUS_ACCELERATOR_KEY
The bound property name for the focus accelerator. |
Fields inherited from class javax.swing.JComponent ![]() |
|---|
accessibleContext |
Fields inherited from class java.awt.Component ![]() |
|---|
BOTTOM_ALIGNMENT |
Fields inherited from interface java.awt.image.ImageObserver ![]() |
|---|
ABORT |
| Constructor Summary | |
|---|---|
JTextComponent
Creates a new JTextComponent. |
|
| Method Summary | |
|---|---|
void |
addCaretListener
Adds a caret listener for notification of any changes to the caret. |
void |
addInputMethodListener
Adds the specified input method listener to receive input method events from this component. |
static Keymap |
addKeymap
Adds a new keymap into the keymap hierarchy. |
void |
copy
Transfers the currently selected range in the associated text model to the system clipboard, leaving the contents in the text model. |
void |
cut
Transfers the currently selected range in the associated text model to the system clipboard, removing the contents from the model. |
protected void |
fireCaretUpdate
Notifies all listeners that have registered interest for notification on this event type. |
AccessibleContext |
getAccessibleContext
Gets the AccessibleContext associated with this
JTextComponent. |
Action |
getActions
Fetches the command list for the editor. |
Caret |
getCaret
Fetches the caret that allows text-oriented navigation over the view. |
Color |
getCaretColor
Fetches the current color used to render the caret. |
CaretListener |
getCaretListeners
Returns an array of all the caret listeners registered on this text component. |
int |
getCaretPosition
Returns the position of the text insertion caret for the text component. |
Color |
getDisabledTextColor
Fetches the current color used to render the selected text. |
Document |
getDocument
Fetches the model associated with the editor. |
boolean |
getDragEnabled
Gets the dragEnabled property. |
char |
getFocusAccelerator
Returns the key accelerator that will cause the receiving text component to get the focus. |
Highlighter |
getHighlighter
Fetches the object responsible for making highlights. |
InputMethodRequests |
getInputMethodRequests
Gets the input method request handler which supports requests from input methods for this component. |
Keymap |
getKeymap
Fetches the keymap currently active in this text component. |
static Keymap |
getKeymap
Fetches a named keymap previously added to the document. |
Insets |
getMargin
Returns the margin between the text component's border and its text. |
NavigationFilter |
getNavigationFilter
Returns the NavigationFilter. |
Dimension |
getPreferredScrollableViewportSize
Returns the preferred size of the viewport for a view component. |
int |
getScrollableBlockIncrement
Components that display logical rows or columns should compute the scroll increment that will completely expose one block of rows or columns, depending on the value of orientation. |
boolean |
getScrollableTracksViewportHeight
Returns true if a viewport should always force the height of this Scrollable to match the height of the viewport. |
boolean |
getScrollableTracksViewportWidth
Returns true if a viewport should always force the width of this Scrollable to match the width of the viewport. |
int |
getScrollableUnitIncrement
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. |
String |
getSelectedText
Returns the selected text contained in this TextComponent. |
Color |
getSelectedTextColor
Fetches the current color used to render the selected text. |
Color |
getSelectionColor
Fetches the current color used to render the selection. |
int |
getSelectionEnd
Returns the selected text's end position. |
int |
getSelectionStart
Returns the selected text's start position. |
String |
getText
Returns the text contained in this TextComponent. |
String |
getText
Fetches a portion of the text represented by the component. |
String |
getToolTipText
Returns the string to be used as the tooltip for event. |
TextUI |
getUI
Fetches the user-interface factory for this text-oriented editor. |
boolean |
isEditable
Returns the boolean indicating whether this TextComponent is editable or not. |
static void |
loadKeymap
Loads a keymap with a bunch of bindings. |
Rectangle |
modelToView
Converts the given location in the model to a place in the view coordinate system. |
void |
moveCaretPosition |