Spec-Zone.ru › OpenJDK 24

Класс NavigationFilter

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

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

Since:
1.4
См. также:
  • Caret
  • DefaultCaret
  • View

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

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

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

Конструктор Описание
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)
Вызывается перед перемещением 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

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

NavigationFilter

public NavigationFilter()
Создаёт NavigationFilter.

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

setDot

public void setDot(NavigationFilter.FilterBypass fb, int dot, Position.Bias bias)
Вызывается перед установкой Caret. По умолчанию, реализация напрямую обращается к FilterBypass с переданными аргументами. Подклассы могут условно вызвать super с другим расположением или вызвать необходимый метод у FilterBypass.
Параметры:
fb - FilterBypass, который может быть использован для изменения позиции курсора
dot - позиция >= 0
bias - смещение для размещения курсора

moveDot

public void moveDot(NavigationFilter.FilterBypass fb, int dot, Position.Bias bias)
Вызывается перед перемещением Caret. По умолчанию, реализация напрямую обращается к 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 Documentation, которая содержит более подробные описания, ориентированные на разработчиков, с концептуальными обзорами, определениями терминов, обходами и примерами рабочего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или его аффилированных лиц в США и других странах.
Copyright © 1993, 2025, Oracle и/или его аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 США.
Все права защищены. Использование подлежит условиям лицензии и политике перераспределения документации.
DRAFT 24-ea+36-Debian-1

© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/text/NavigationFilter.html

Spec-Zone.ru

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