java.lang.Object javax.swing.text.NavigationFilter
public class NavigationFilter
NavigationFilter
可用于限制光标的定位。当默认光标定位操作尝试重新定位光标时,它们将调用 NavigationFilter
,(假定 JTextComponent
有一个非 null NavigationFilter
集合)。通过这种方式,NavigationFilter
可以有效地限制光标定位。同样,当用户更改选定内容以进一步限定光标的位置时,DefaultCaret
将调用 NavigationFilter
。
子类可以有条件地调用超类实现以限制可以放置光标的位置,或者直接调用 FilterBypass
。
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 |
构造方法详细信息 |
---|
public NavigationFilter()
方法详细信息 |
---|
public void setDot(NavigationFilter.FilterBypass fb, int dot, Position.Bias bias)
FilterBypass
。子类可能希望有条件地调用具有不同位置的超类,或在
FilterBypass
上调用必需的方法。
fb
- 可用于改变插入符位置的 FilterBypass
dot
- 位置,该值 >= 0
bias
- 距所在点的偏差
public void moveDot(NavigationFilter.FilterBypass fb, int dot, Position.Bias bias)
FilterBypass
。子类可能希望有条件地调用具有不同位置的超类,或在
FilterBypass
上调用必需的方法。
fb
- 可用于改变插入符位置的 FilterBypass
dot
- 位置,该值 >= 0
bias
- 新位置的偏差
public int getNextVisualPositionFrom(JTextComponent text, int pos, Position.Bias bias, int direction, Position.Bias[] biasRet) throws BadLocationException
text
- 包含文本的 JTextComponent
pos
- 用于确定下一个位置的位置
bias
- 用于确定下一个位置的偏差
direction
- 相对于当前位置的方向,可以视为通常在键盘上找到的方向键。它将是以下值之一:
biasRet
- 用于返回下一个位置的偏差结果
BadLocationException
IllegalArgumentException
- 如果
direction
不是上面的合法值之一