Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Определяет, является ли другой объект «равным» этому объекту.
protected void finalize()
Устарело и подлежит удалению: этот элемент API может быть удалён в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает значение хеш-кода этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения определённого промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения определённого промежутка реального времени.

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

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, 2026, 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.

Spec-Zone.ru

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