javax.swing.text

接口
异常
java.lang.Object
  继承者 javax.swing.text.NavigationFilter

public class NavigationFilter
     
extends Object

NavigationFilter 可用于限制光标的定位。当默认光标定位操作尝试重新定位光标时,它们将调用 NavigationFilter,(假定 JTextComponent 有一个非 null NavigationFilter 集合)。通过这种方式,NavigationFilter 可以有效地限制光标定位。同样,当用户更改选定内容以进一步限定光标的位置时,DefaultCaret 将调用 NavigationFilter

子类可以有条件地调用超类实现以限制可以放置光标的位置,或者直接调用 FilterBypass

从以下版本开始:
1.4
另请参见:
Caret, DefaultCaret, View

嵌套类摘要
static class NavigationFilter.FilterBypass
          用作防止回调插入符以定位光标的方式。
 
构造方法摘要
NavigationFilter()
           
 
方法摘要
 int getNextVisualPositionFrom(JTextComponent text, int pos, Position.Bias bias, int direction, Position.Bias[] biasRet)
          返回从现在位置起的下一个放置插入符的可视位置。
 void moveDot(NavigationFilter.FilterBypass fb, int dot, Position.Bias bias)
          在 Caret 移动点之前调用。
 void setDot(NavigationFilter.FilterBypass fb, int dot, Position.Bias bias)
          在 Caret 设置点之前调用。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

NavigationFilter

public NavigationFilter()
方法详细信息

setDot

public void setDot(NavigationFilter.FilterBypass fb,
                   int dot,
                   Position.Bias bias)
在 Caret 设置点之前调用。默认实现直接调用具有传入参数的 FilterBypass。子类可能希望有条件地调用具有不同位置的超类,或在 FilterBypass 上调用必需的方法。

参数:
fb - 可用于改变插入符位置的 FilterBypass
dot - 位置,该值 >= 0
bias - 距所在点的偏差

moveDot

public void moveDot(NavigationFilter.FilterBypass fb,
                    int dot,
                    Position.Bias bias)
在 Caret 移动点之前调用。默认实现直接调用具有传入参数的 FilterBypass。子类可能希望有条件地调用具有不同位置的超类,或在 FilterBypass 上调用必需的方法。

参数:
fb - 可用于改变插入符位置的 FilterBypass
dot - 位置,该值 >= 0
bias - 新位置的偏差

getNextVisualPositionFrom

public int getNextVisualPositionFrom(JTextComponent text,
                                     int pos,
                                     Position.Bias bias,
                                     int direction,
                                     Position.Bias[] biasRet)
                              throws BadLocationException
返回从现在位置起的下一个放置插入符的可视位置。默认实现只将该方法转发给根视图。子类可能希望根据其他标准进一步限制放置插入符的位置。

参数:
text - 包含文本的 JTextComponent
pos - 用于确定下一个位置的位置
bias - 用于确定下一个位置的偏差
direction - 相对于当前位置的方向,可以视为通常在键盘上找到的方向键。它将是以下值之一:
  • SwingConstants.WEST
  • SwingConstants.EAST
  • SwingConstants.NORTH
  • SwingConstants.SOUTH
biasRet - 用于返回下一个位置的偏差结果
返回:
此模型中最能表示下一个可见位置的位置
抛出:
BadLocationException
IllegalArgumentException - 如果 direction 不是上面的合法值之一