Spec-Zone.ru › OpenJDK 8

Класс NavigationFilter

  • java.lang.Object
    • javax.swing.text.NavigationFilter

public class NavigationFilter
extends Object

NavigationFilter может использоваться для ограничения позиций курсора. При попытке изменить положение курсора стандартные действия перемещения курсора вызывают NavigationFilter, предполагая, что у JTextComponent установлен не нулевой NavigationFilter. Таким образом, NavigationFilter может эффективно ограничить, где может быть размещен курсор. Аналогично, DefaultCaret вызовет NavigationFilter, когда пользователь изменяет выделение, чтобы дополнительно ограничить, где может быть размещен курсор.

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

Since:
1.4
See Also:
Caret, DefaultCaret, View

Вложенные классы

Модификатор и тип Класс и описание
static class  NavigationFilter.FilterBypass

Используется для того, чтобы обойти обращение к карету для позиционирования курсора.

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

Конструктор и описание
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()

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

setDot

public void setDot(NavigationFilter.FilterBypass fb,
                   int dot,
                   Position.Bias bias)

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

Parameters:
fb - FilterBypass, который может быть использован для изменения позиции курсора
dot - позиция >= 0
bias - Смещение для размещения курсора

moveDot

public void moveDot(NavigationFilter.FilterBypass fb,
                    int dot,
                    Position.Bias bias)

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

Parameters:
fb - FilterBypass, который может быть использован для изменения позиции курсора
dot - позиция >= 0
bias - Смещение для нового местоположения

getNextVisualPositionFrom

public int getNextVisualPositionFrom(JTextComponent text,
                                     int pos,
                                     Position.Bias bias,
                                     int direction,
                                     Position.Bias[] biasRet)
                              throws BadLocationException

Возвращает следующую визуальную позицию для размещения курсора от существующей позиции. Реализация по умолчанию просто передает метод к корневому представлению. Подклассы могут дополнительно ограничить местоположение на основе дополнительных критериев.

Parameters:
text - JTextComponent, содержащий текст
pos - Позиция, используемая для определения следующей позиции
bias - Смещение, используемое для определения следующей позиции
direction - направление от текущей позиции, которое можно рассматривать как клавиши со стрелками на клавиатуре. Будет иметь одно из следующих значений:
  • SwingConstants.WEST
  • SwingConstants.EAST
  • SwingConstants.NORTH
  • SwingConstants.SOUTH
biasRet - Используется для возвращения результативного смещения следующей позиции
Returns:
Расположение в модели, которое лучше всего представляет следующую визуальную позицию
Throws:
BadLocationException
IllegalArgumentException - если direction не имеет одного из вышеперечисленных значений

© 1993, 2020, 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