APIdia Launch Partner
Top Description Inners Constructors Methods
javax.swing.text

public Class NavigationFilter

extends Object
Class Inheritance
Known Direct Subclasses
javax.swing.text.DefaultFormatter.DefaultNavigationFilter
Imports
java.awt.Shape

NavigationFilter can be used to restrict where the cursor can be positioned. When the default cursor positioning actions attempt to reposition the cursor they will call into the NavigationFilter, assuming the JTextComponent has a non-null NavigationFilter set. In this manner the NavigationFilter can effectively restrict where the cursor can be positioned. Similarly DefaultCaret will call into the NavigationFilter when the user is changing the selection to further restrict where the cursor can be positioned.

Subclasses can conditionally call into supers implementation to restrict where the cursor can be placed, or call directly into the FilterBypass.

Since
1.4
See Also
javax.swing.text.Caret, javax.swing.text.DefaultCaret, javax.swing.text.View

Nested and Inner Type Summary

Modifier and TypeClass and Description
public abstract static class
NavigationFilter.FilterBypass

Used as a way to circumvent calling back into the caret to position the cursor.

Constructor Summary

AccessConstructor and Description

Method Summary

Modifier and TypeMethod and Description
public int

Returns:

the location within the model that best represents the next location visual position
getNextVisualPositionFrom
(JTextComponent
JTextComponent containing text
text
,
int
Position used in determining next position
pos
,
Position.Bias
Bias used in determining next position
bias
,
int
the direction from the current position that can be thought of as the arrow keys typically found on a keyboard. This will be one of the following values:
  • SwingConstants.WEST
  • SwingConstants.EAST
  • SwingConstants.NORTH
  • SwingConstants.SOUTH
direction
,
Position.Bias[]
Used to return resulting Bias of next position
biasRet
)

Returns the next visual position to place the caret at from an existing position.

public void
moveDot(NavigationFilter.FilterBypass
FilterBypass that can be used to mutate caret position
fb
,
int
the position >= 0
dot
,
Position.Bias
Bias for new location
bias
)

Invoked prior to the Caret moving the dot.

public void
setDot(NavigationFilter.FilterBypass
FilterBypass that can be used to mutate caret position
fb
,
int
the position >= 0
dot
,
Position.Bias
Bias to place the dot at
bias
)

Invoked prior to the Caret setting the dot.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

Method Detail

getNextVisualPositionFromback to summary
public int getNextVisualPositionFrom(JTextComponent text, int pos, Position.Bias bias, int direction, Position.Bias[] biasRet) throws BadLocationException

Returns the next visual position to place the caret at from an existing position. The default implementation simply forwards the method to the root View. Subclasses may wish to further restrict the location based on additional criteria.

Parameters
text:JTextComponent

JTextComponent containing text

pos:int

Position used in determining next position

bias:Position.Bias

Bias used in determining next position

direction:int

the direction from the current position that can be thought of as the arrow keys typically found on a keyboard. This will be one of the following values:

  • SwingConstants.WEST
  • SwingConstants.EAST
  • SwingConstants.NORTH
  • SwingConstants.SOUTH
biasRet:Position.Bias[]

Used to return resulting Bias of next position

Returns:int

the location within the model that best represents the next location visual position

Exceptions
BadLocationException:
for a bad location within a document model
IllegalArgumentException:
if direction doesn't have one of the legal values above
moveDotback to summary
public void moveDot(NavigationFilter.FilterBypass fb, int dot, Position.Bias bias)

Invoked prior to the Caret moving the dot. The default implementation calls directly into the FilterBypass with the passed in arguments. Subclasses may wish to conditionally call super with a different location, or invoke the necessary methods on the FilterBypass.

Parameters
fb:NavigationFilter.FilterBypass

FilterBypass that can be used to mutate caret position

dot:int

the position >= 0

bias:Position.Bias

Bias for new location

setDotback to summary
public void setDot(NavigationFilter.FilterBypass fb, int dot, Position.Bias bias)

Invoked prior to the Caret setting the dot. The default implementation calls directly into the FilterBypass with the passed in arguments. Subclasses may wish to conditionally call super with a different location, or invoke the necessary method on the FilterBypass

Parameters
fb:NavigationFilter.FilterBypass

FilterBypass that can be used to mutate caret position

dot:int

the position >= 0

bias:Position.Bias

Bias to place the dot at

javax.swing.text back to summary

public abstract Class NavigationFilter.FilterBypass

extends Object
Class Inheritance
Known Direct Subclasses
javax.swing.text.DefaultCaret.DefaultFilterBypass

Used as a way to circumvent calling back into the caret to position the cursor. Caret implementations that wish to support a NavigationFilter must provide an implementation that will not callback into the NavigationFilter.
Since
1.4

Constructor Summary

AccessConstructor and Description
protected
FilterBypass()

Constructor for subclasses to call.

Method Summary

Modifier and TypeMethod and Description
public abstract Caret

Returns:

Caret that is changing
getCaret
()

Returns the Caret that is changing.

public abstract void
moveDot(int
the position >= 0
dot
,
Position.Bias
Bias for new location
bias
)

Moves the caret location, bypassing the NavigationFilter.

public abstract void
setDot(int
the position >= 0
dot
,
Position.Bias
Bias to place the dot at
bias
)

Sets the caret location, bypassing the NavigationFilter.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

FilterBypassback to summary
protected FilterBypass()

Constructor for subclasses to call.

Method Detail

getCaretback to summary
public abstract Caret getCaret()

Returns the Caret that is changing.

Returns:Caret

Caret that is changing

moveDotback to summary
public abstract void moveDot(int dot, Position.Bias bias)

Moves the caret location, bypassing the NavigationFilter.

Parameters
dot:int

the position >= 0

bias:Position.Bias

Bias for new location

setDotback to summary
public abstract void setDot(int dot, Position.Bias bias)

Sets the caret location, bypassing the NavigationFilter.

Parameters
dot:int

the position >= 0

bias:Position.Bias

Bias to place the dot at