javax.swing.plaf

Class TextUI

public abstract class TextUI extends ComponentUI

An abstract base class for delegates that provide the user interface for text editors.

See Also:

Constructor Summary
TextUI()
Constructs a new TextUI.
Method Summary
abstract voiddamageRange(JTextComponent tc, int start, int end)
Repaints a range of characters.
abstract voiddamageRange(JTextComponent tc, int start, int end, Position.Bias startBias, Position.Bias endBias)
Repaints a range of characters, also specifying the bias for the start and end of the range.
abstract EditorKitgetEditorKit(JTextComponent tc)
Retrieves the EditorKit managing policies and persistent state.
abstract intgetNextVisualPositionFrom(JTextComponent tc, int pos, Position.Bias bias, int direction, Position.Bias[] outBias)
Calculates the caret position that is visually next to the given position.
abstract ViewgetRootView(JTextComponent tc)
Retrieves the root of the view tree that visually presents the text.
StringgetToolTipText(JTextComponent tc, Point loc)
Returns a String for presenting a tool tip at the specified location.
abstract RectanglemodelToView(JTextComponent tc, int pos)
Calculates the geometric extent of the character at the given offset.
abstract RectanglemodelToView(JTextComponent tc, int pos, Position.Bias bias)
Calculates the geometric extent of the character at the given offset.
abstract intviewToModel(JTextComponent t, Point pt)
Finds the caret position which is closest to the specified visual location.
abstract intviewToModel(JTextComponent tc, Point loc, Position.Bias[] outBias)
Finds the caret position which is closest to the specified visual location.

Constructor Detail

TextUI

public TextUI()
Constructs a new TextUI.

Method Detail

damageRange

public abstract void damageRange(JTextComponent tc, int start, int end)
Repaints a range of characters.

Parameters: tc the JTextComponent for which this delegate object provides the user interface. start the first character in the range that needs painting, indicated as an index into the document model. end the last character in the range that needs painting, indicated as an index into the document model. end must be greater than or equal to start.

damageRange

public abstract void damageRange(JTextComponent tc, int start, int end, Position.Bias startBias, Position.Bias endBias)
Repaints a range of characters, also specifying the bias for the start and end of the range.

Parameters: tc the JTextComponent for which this delegate object provides the user interface. start the first character in the range that needs painting, indicated as an index into the document model. end the last character in the range that needs painting, indicated as an index into the document model. end must be greater than or equal to start.

getEditorKit

public abstract EditorKit getEditorKit(JTextComponent tc)
Retrieves the EditorKit managing policies and persistent state.

Parameters: tc the JTextComponent for which this delegate object provides the user interface.

Returns: the EditorKit used by tc.

getNextVisualPositionFrom

public abstract int getNextVisualPositionFrom(JTextComponent tc, int pos, Position.Bias bias, int direction, Position.Bias[] outBias)
Calculates the caret position that is visually next to the given position. This is useful to determine where to move the caret after the user has pressed an arrow key.

Parameters: tc the JTextComponent for which this delegate object provides the user interface. pos the current caret position, a zero-based index into the document model. bias whether to take the character before or after the caret position indicated by pos. The value must be either {@link javax.swing.text.Position.Bias#Backward} or {@link javax.swing.text.Position.Bias#Forward}. direction the visual direction. Pass {@link javax.swing.SwingConstants#WEST} for the left arrow key, {@link javax.swing.SwingConstants#EAST} for the right arrow key, {@link javax.swing.SwingConstants#NORTH} for the up arrow key, or {@link javax.swing.SwingConstants#SOUTH} for the down arrow key.

Throws: BadLocationException if pos does not designate a valid position in the document model. IllegalArgumentException if direction is not one of Position.Bias.Forward or Position.Bias.Backward.

getRootView

public abstract View getRootView(JTextComponent tc)
Retrieves the root of the view tree that visually presents the text.

Parameters: tc the JTextComponent for which this delegate object provides the user interface.

Returns: the root View used by tc.

getToolTipText

public String getToolTipText(JTextComponent tc, Point loc)
Returns a String for presenting a tool tip at the specified location.

Parameters: tc the JTextComponent for which this delegate object provides the user interface. loc the location for which the tool tip is requested.

Returns: the text for the tool tip, or null to display no tool tip.

Since: 1.4

modelToView

public abstract Rectangle modelToView(JTextComponent tc, int pos)
Calculates the geometric extent of the character at the given offset.

Parameters: tc the JTextComponent for which this delegate object provides the user interface. pos the zero-based index of the character into the document model.

Returns: the bounding box of the character at index pos, in view coordinates.

Throws: BadLocationException if pos does not designate a valid position in the document model.

See Also: ComponentView

modelToView

public abstract Rectangle modelToView(JTextComponent tc, int pos, Position.Bias bias)
Calculates the geometric extent of the character at the given offset.

Parameters: tc the JTextComponent for which this delegate object provides the user interface. pos the zero-based index of the character into the document model. bias whether to take the character before or after the caret position indicated by pos. The value must be either {@link javax.swing.text.Position.Bias#Backward} or {@link javax.swing.text.Position.Bias#Forward}.

Returns: the bounding box of the character at index pos, in view coordinates.

Throws: BadLocationException if pos does not designate a valid position in the document model.

See Also: ComponentView

viewToModel

public abstract int viewToModel(JTextComponent t, Point pt)
Finds the caret position which is closest to the specified visual location.

Parameters: t the JTextComponent for which this delegate object provides the user interface. pt the position in view coordinates.

Returns: the caret position which is closest to loc.

See Also: (JTextComponent, Point, Position.Bias[])

viewToModel

public abstract int viewToModel(JTextComponent tc, Point loc, Position.Bias[] outBias)
Finds the caret position which is closest to the specified visual location.

Parameters: tc the JTextComponent for which this delegate object provides the user interface. loc the position in view coordinates. outBias an array whose size must be at least one. After the call, outBias[0] will indicate whether loc is in the glyph before (Position.Bias.Backward) or after (Position.Bias.Forward) the returned caret position.

Returns: the caret position which is closest to loc.