Spec-Zone.ru › OpenJDK 21

Класс 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
Используется для обхода вызова метода для позиционирования курсора.

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

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

Методы, унаследованные от класса 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)
Вызывается перед установкой позиции курсора. По умолчанию вызов осуществляется непосредственно в FilterBypass с переданными аргументами. Подклассы могут условно вызвать супер метод с другим местоположением или вызвать необходимый метод в FilterBypass
Параметры:
fb - FilterBypass, используемый для изменения позиции курсора
dot - позиция >= 0
bias - Сдвиг для установки курсора

moveDot

public void moveDot(NavigationFilter.FilterBypass fb, int dot, Position.Bias bias)
Вызывается перед перемещением курсора. По умолчанию вызов осуществляется непосредственно в FilterBypass с переданными аргументами. Подклассы могут условно вызвать супер метод с другим местоположением или вызвать необходимые методы в 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 не имеет одного из допустимых значений выше

© 1993, 2023, 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/21/docs/api/java.desktop/javax/swing/text/NavigationFilter.html

Spec-Zone.ru

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