Spec-Zone.ru › OpenJDK 25

Класс NavigationFilter

java.lang.Object
javax.swing.text.NavigationFilter
public class NavigationFilter extends Object
NavigationFilter можно использовать для ограничения положения курсора. Когда действия позиционирования курсора по умолчанию пытаются переместить курсор, они вызывают NavigationFilter, если у JTextComponent задано ненулевое значение NavigationFilter. Таким образом, NavigationFilter может эффективно ограничивать положение курсора. Аналогично, DefaultCaret вызывает NavigationFilter при изменении пользователем выделения, чтобы дополнительно ограничить положение курсора.

Подклассы могут при необходимости вызывать реализацию суперкласса, чтобы ограничить положение курсора, либо напрямую вызывать FilterBypass.

Начиная с:
1.4
См. также:
  • Caret
  • DefaultCaret
  • View

Краткое описание вложенных классов

Модификатор и тип Класс Описание
static class  NavigationFilter.FilterBypass
Используется для обхода вызова каретки при позиционировании курсора.

Краткое описание конструкторов

Конструктор Описание
NavigationFilter()
Создает 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)
Вызывается перед перемещением точки каретки.
void setDot(NavigationFilter.FilterBypass fb, int dot, Position.Bias bias)
Вызывается перед установкой точки каретки.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

NavigationFilter

public NavigationFilter()
Создает 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
Возвращает следующую визуальную позицию для каретки, исходя из текущей позиции. Реализация по умолчанию просто передает вызов методу корневого View. Подклассы могут дополнительно ограничить положение на основе других критериев.
Параметры:
text — JTextComponent, содержащий текст
pos — позиция, используемая для определения следующей позиции
bias — смещение, используемое для определения следующей позиции
direction — направление от текущей позиции, соответствующее клавишам со стрелками на клавиатуре. Возможны следующие значения:
  • SwingConstants.WEST
  • SwingConstants.EAST
  • SwingConstants.NORTH
  • SwingConstants.SOUTH
biasRet — используется для возврата результирующего смещения следующей позиции
Возвращает:
положение в модели, наилучшим образом соответствующее следующей визуальной позиции
Вызывает исключение:
BadLocationException — при недопустимом положении в модели документа
IllegalArgumentException — если direction не имеет одного из указанных выше допустимых значений

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/text/NavigationFilter.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API