java.lang.Object
javax.swing.text.NavigationFilter
NavigationFilter
可用于限制光标可以定位的位置。当默认的光标定位操作尝试重新定位光标时,它们将调用 NavigationFilter
,假设 JTextComponent
设置了非空的 NavigationFilter
。通过这种方式,NavigationFilter
可以有效地限制光标可以定位的位置。类似地,当用户更改选择时,DefaultCaret
会调用 NavigationFilter
,以进一步限制光标可以定位的位置。
子类可以有条件地调用超类的实现来限制光标的放置位置,或直接调用 FilterBypass
。
- 自 JDK 版本:
- 1.4
- 参见:
-
Nested Class Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
getNextVisualPositionFrom
(JTextComponent text, int pos, Position.Bias bias, int direction, Position.Bias[] biasRet) 返回从现有位置放置插入符的下一个视觉位置。void
moveDot
(NavigationFilter.FilterBypass fb, int dot, Position.Bias bias) 在插入符移动点之前调用。void
setDot
(NavigationFilter.FilterBypass fb, int dot, Position.Bias bias) 在插入符设置点之前调用。
-
Constructor Details
-
NavigationFilter
public NavigationFilter()构造一个NavigationFilter
。
-
-
Method Details
-
getNextVisualPositionFrom
public int getNextVisualPositionFrom(JTextComponent text, int pos, Position.Bias bias, int direction, Position.Bias[] biasRet) throws BadLocationException 返回从现有位置放置插入符的下一个视觉位置。默认实现简单地将方法转发到根 View。子类可能希望根据额外的条件进一步限制位置。- 参数:
-
text
- 包含文本的 JTextComponent -
pos
- 用于确定下一个位置的位置 -
bias
- 用于确定下一个位置的偏好 -
direction
- 从当前位置开始的方向,可以被视为键盘上通常找到的箭头键。这将是以下值之一:- SwingConstants.WEST
- SwingConstants.EAST
- SwingConstants.NORTH
- SwingConstants.SOUTH
-
biasRet
- 用于返回下一个位置的结果偏好 - 返回:
- 最能代表下一个位置视觉位置的模型内位置
- 抛出:
-
BadLocationException
- 对于文档模型中的错误位置 -
IllegalArgumentException
- 如果direction
不具有上述合法值之一