Module  java.desktop
软件包  javax.swing.text

Class NavigationFilter



  • public class NavigationFilter
    extends Object
    可以使用NavigationFilter来限制光标所在的位置。 当默认光标定位动作尝试重新定位光标时,它们将调用NavigationFilter ,假设JTextComponent具有非空NavigationFilter集。 以这种方式, NavigationFilter可以有效地限制光标位置的位置。 类似地, DefaultCaret将在用户正在更改选择时调用进入NavigationFilter ,以进一步限制光标所在的位置。

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

    从以下版本开始:
    1.4
    另请参见:
    CaretDefaultCaretView
    • 构造方法详细信息

      • NavigationFilter

        public NavigationFilter​()
    • 方法详细信息

      • setDot

        public void setDot​(NavigationFilter.FilterBypass fb,
                           int dot,
                           Position.Bias bias)
        在插入点设置点之前调用。 默认实现通过传入的参数直接调用到FilterBypass中。 子类可能希望有条件地使用不同的位置调用super,或者在FilterBypass调用必要的方法
        参数
        fb - FilterBypass可用于突变插入位置
        dot - 位置> = 0
        bias - 放置点的偏差
      • moveDot

        public void moveDot​(NavigationFilter.FilterBypass fb,
                            int dot,
                            Position.Bias bias)
        在插入点移动点之前调用。 默认实现通过传入的参数直接调用到FilterBypass中。 子类可能希望有条件地使用不同的位置调用super,或者在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没有上述合法值之一