Класс 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.