Spec-Zone.ru › OpenJDK 21

Класс DefaultCaret

java.lang.Object
java.awt.geom.RectangularShape
java.awt.geom.Rectangle2D
java.awt.Rectangle
javax.swing.text.DefaultCaret
Все реализованные интерфейсы:
FocusListener, MouseListener, MouseMotionListener, Shape, Serializable, Cloneable, EventListener, Caret
Прямые известные подклассы:
BasicTextUI.BasicCaret
public class DefaultCaret extends Rectangle implements Caret, FocusListener, MouseListener, MouseMotionListener
Реализация по умолчанию для Caret. Курсор отображается в виде вертикальной линии цвета, заданного свойством CaretColor соответствующего JTextComponent. Он может мигать с частотой, заданной свойством BlinkRate.

Данная реализация ожидает двух источников асинхронных уведомлений. Поток таймера запускается асинхронно и вызывает перерисовку курсора с использованием последних границ. Курсор также отслеживает изменения в документе. Обычно это происходит в потоке обработки событий в результате какого-либо события мыши или клавиатуры. Поведение курсора при обновлении как синхронного, так и асинхронного документов управляется свойством UpdatePolicy. Перерисовка нового положения курсора произойдет в потоке обработки событий в любом случае, так как вызовы modelToView безопасны только в потоке обработки событий.

Курсор действует как слушатель событий мыши и фокуса для текстового компонента, в котором он установлен, и определяет семантику курсора на основе этих событий. Методы слушателей можно переопределить для изменения семантики. По умолчанию, первая кнопка мыши будет использоваться для установки фокуса и позиции курсора. Перетаскивание указателя мыши с первой кнопкой мыши выделит непрерывный фрагмент текста в модели. Если соответствующий текстовый компонент редактируемый, курсор станет видимым при получении фокуса и невидимым при его потере.

Для отображения выделения используется Highlighter, привязанный к соответствующему текстовому компоненту. Вид выделения можно настроить, предоставив для выделений свой рисовальщик. По умолчанию используется рисовальщик, который отображает заполненный цвет, указанный в связанном текстовом компоненте в свойстве SelectionColor. Это легко изменить, переопределив метод getSelectionPainter.

Настроить внешний вид курсора можно переопределив метод paint. Если метод paint изменён, необходимо также переопределить метод damage для перерисовки необходимой области для отображения курсора. Курсор расширяет класс Rectangle, который используется для хранения bounding box последнего отображенного курсора. Это позволяет курсору перерисовываться потокобезопасным способом при перемещении курсора без вызова modelToView, который нестабилен между обновлениями модели и ремонтом представления (т.е. порядок доставки DocumentListeners не гарантирован).

Магическая позиция курсора устанавливается в null при изменении позиции курсора. Таймер используется для определения нового местоположения (после изменения курсора). При срабатывании таймера, если магическая позиция курсора по-прежнему null, она устанавливается в текущую позицию курсора. Любые действия, которые изменяют позицию курсора и хотят сохранить магическую позицию курсора неизменной, должны запомнить магическую позицию курсора, изменить курсор, а затем установить магическую позицию курсора в её исходное значение. Это выгодно тем, что только те действия, которые хотят сохранить магическую позицию курсора (например, open/down), должны знать о ней.

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими одну и ту же версию Swing. С версии 1.4 добавлена поддержка долгосрочного хранения всех JavaBeans в пакете java.beans. См. XMLEncoder.

См. также:
  • Caret

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

Вложенные классы/интерфейсы, объявленные в классе java.awt.geom.Rectangle2D

Rectangle2D.Double, Rectangle2D.Float

Краткое описание полей

Модификатор и тип Поле Описание
static final int ALWAYS_UPDATE
Указывает, что позиция курсора должна всегда обновляться в соответствии с изменениями документа, независимо от того, выполняются ли обновления документа в потоке обработки событий или нет.
protected ChangeEvent changeEvent
Событие изменения модели.
protected EventListenerList listenerList
Список слушателей событий.
static final int NEVER_UPDATE
Указывает, что курсор должен оставаться в той же абсолютной позиции в документе независимо от любых обновлений документа, за исключением случаев, когда длина документа становится меньше текущей позиции курсора из-за удаления.
static final int UPDATE_WHEN_ON_EDT
Указывает, что позиция курсора должна обновляться только при выполнении изменений документа в потоке обработки событий.

Поля, объявленные в классе java.awt.Rectangle

height, width, x, y

Поля, объявленные в классе java.awt.geom.Rectangle2D

OUT_BOTTOM, OUT_LEFT, OUT_RIGHT, OUT_TOP

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

Конструктор Описание
DefaultCaret()
Создаёт курсор по умолчанию.

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

Модификатор и тип Метод Описание
void addChangeListener(ChangeListener l)
Добавляет обработчик для отслеживания изменений позиции курсора.
protected void adjustVisibility(Rectangle nloc)
Прокручивает связанное представление (при необходимости), чтобы сделать курсор видимым.
protected void damage(Rectangle r)
Повреждает область вокруг курсора, чтобы перерисовать его в новом месте.
void deinstall(JTextComponent c)
Вызывается при удалении пользовательского интерфейса из интерфейса JTextComponent.
boolean equals(Object obj)
Сравнивает этот объект с указанным объектом.
protected void fireStateChanged()
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлениям об этом типе события.
void focusGained(FocusEvent e)
Вызывается, когда компонент, содержащий курсор, получает фокус.
void focusLost(FocusEvent e)
Вызывается, когда компонент, содержащий курсор, теряет фокус.
int getBlinkRate()
Получает скорость мигания курсора.
ChangeListener[] getChangeListeners()
Возвращает массив всех слушателей изменений, зарегистрированных на этом курсоре.
protected final JTextComponent getComponent()
Получает компонент текстового редактора, к которому привязан этот курсор.
int getDot()
Получает текущую позицию курсора.
Position.Bias getDotBias()
Возвращает смещение позиции курсора.
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
Возвращает массив всех объектов, в настоящее время зарегистрированных как FooListener для этого курсора.
Point getMagicCaretPosition()
Получает сохраненную позицию курсора.
int getMark()
Получает текущую позицию метки.
Position.Bias getMarkBias()
Возвращает смещение метки.
protected Highlighter.HighlightPainter getSelectionPainter()
Получает рисовальщик для выделения.
int getUpdatePolicy()
Получает политику перемещения курсора при обновлениях документа.
void install(JTextComponent c)
Вызывается при установке пользовательского интерфейса в интерфейс JTextComponent.
boolean isActive()
Определяет, активен ли в данный момент курсор.
boolean isSelectionVisible()
Проверяет, виден ли текущий выделенный фрагмент.
boolean isVisible()
Указывает, виден ли в данный момент курсор.
void mouseClicked(MouseEvent e)
Вызывается при щелчке мышью.
void mouseDragged(MouseEvent e)
Перемещает позицию курсора в соответствии с текущим положением указателя мыши.
void mouseEntered(MouseEvent e)
Вызывается при входе мыши в область.
void mouseExited(MouseEvent e)
Вызывается при выходе мыши из области.
void mouseMoved(MouseEvent e)
Вызывается при перемещении мыши.
void mousePressed(MouseEvent e)
Если нажата кнопка 1, это выполняется для запроса фокуса на связанном текстовом компоненте и для установки позиции курсора.
void mouseReleased(MouseEvent e)
Вызывается при отпускании кнопки мыши.
protected void moveCaret(MouseEvent e)
Пытается переместить позицию курсора из координат события мыши, используя viewToModel().
void moveDot(int dot)
Перемещает позицию курсора в указанную позицию со смещением вперёд.
void moveDot(int dot, Position.Bias dotBias)
Перемещает позицию курсора в указанную позицию со заданным смещением.
void paint(Graphics g)
Отображает курсор в виде вертикальной линии.
protected void positionCaret(MouseEvent e)
Пытается установить позицию курсора из координат события мыши, используя viewToModel().
void removeChangeListener(ChangeListener l)
Удаляет обработчик, который отслеживал изменения позиции курсора.
protected final void repaint()
Перерисовывает курсор.
void setBlinkRate(int rate)
Устанавливает скорость мигания курсора.
void setDot(int dot)
Устанавливает позицию курсора и метки в указанную позицию со смещением вперёд.
void setDot(int dot, Position.Bias dotBias)
Устанавливает позицию курсора и метки в указанную позицию со заданным смещением.
void setMagicCaretPosition(Point p)
Сохраняет текущую позицию курсора.
void setSelectionVisible(boolean vis)
Изменяет видимость выделения.
void setUpdatePolicy(int policy)
Устанавливает политику перемещения курсора при обновлениях документа.
void setVisible(boolean e)
Устанавливает видимость курсора и перерисовывает его.

Методы, объявленные в классе java.awt.Rectangle

add, add, add, contains, contains, contains, contains, createIntersection, createUnion, getBounds, getBounds2D, getHeight, getLocation, getSize, getWidth, getX, getY, grow, inside, intersection, intersects, isEmpty, move, outcode, reshape, resize, setBounds, setBounds, setLocation, setLocation, setRect, setSize, setSize, toString, translate, union

Методы, объявленные в классе java.awt.geom.Rectangle2D

add, add, add, contains, contains, getPathIterator, getPathIterator, hashCode, intersect, intersects, intersectsLine, intersectsLine, outcode, setFrame, setRect, union

Методы, объявленные в классе java.awt.geom.RectangularShape

clone, contains, contains, getCenterX, getCenterY, getFrame, getMaxX, getMaxY, getMinX, getMinY, intersects, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal

Методы, объявленные в классе java.lang.Object

finalize, getClass, notify, notifyAll, wait, wait, wait

Методы, объявленные в интерфейсе java.awt.Shape

contains, contains, contains, contains, getPathIterator, getPathIterator, intersects, intersects

Подробное описание полей

UPDATE_WHEN_ON_EDT

public static final int UPDATE_WHEN_ON_EDT
Указывает, что позиция курсора должна обновляться только при выполнении изменений документа в потоке обработки событий.
С:
1.5
См. также:
  • setUpdatePolicy(int)
  • getUpdatePolicy()
  • Значения константных полей

NEVER_UPDATE

public static final int NEVER_UPDATE
Указывает, что курсор должен оставаться в той же абсолютной позиции в документе независимо от любых обновлений документа, за исключением случаев, когда длина документа становится меньше текущей позиции курсора из-за удаления. В этом случае позиция курсора корректируется до конца документа.
С:
1.5
См. также:
  • setUpdatePolicy(int)
  • getUpdatePolicy()
  • Значения константных полей

ALWAYS_UPDATE

public static final int ALWAYS_UPDATE
Указывает, что позиция курсора должна всегда обновляться в соответствии с изменениями документа независимо от того, выполняются ли обновления документа в потоке обработки событий или нет.
С:
1.5
См. также:
  • setUpdatePolicy(int)
  • getUpdatePolicy()
  • Значения константных полей

listenerList

protected EventListenerList listenerList
Список слушателей событий.

changeEvent

protected transient ChangeEvent changeEvent
Событие изменения для модели. Для каждого экземпляра модели требуется только одно ChangeEvent, так как единственное (только для чтения) состояние события — свойство источника. Источник событий, генерируемых здесь, всегда «this».

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

DefaultCaret

public DefaultCaret()
Создает стандартный курсор.

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

setUpdatePolicy

public void setUpdatePolicy(int policy)
Устанавливает политику перемещения курсора при обновлении документа. Обычно курсор обновляет свое абсолютное положение в документе при вставках, выполненных до или на позиции курсора, и при удалениях до позиции курсора. "Абсолютное положение" здесь означает положение относительно начала документа. Например, если символ набирается в редактируемом текстовом компоненте, он вставляется на позицию курсора, и курсор перемещается к следующему абсолютному положению в документе из-за вставки, и если BACKSPACE набирается, то курсор уменьшает свое абсолютное положение из-за удаления символа перед ним. Иногда может быть полезно отключить обновления позиции курсора, чтобы курсор оставался в той же абсолютной позиции в документе независимо от любых обновлений документа.

Разрешены следующие политики обновления:

  • NEVER_UPDATE: курсор остается в той же абсолютной позиции в документе независимо от любых обновлений документа, за исключением случаев, когда длина документа становится меньше текущей позиции курсора из-за удаления. В этом случае позиция курсора корректируется до конца документа. Курсор не пытается поддерживать свою видимость, прокручивая связанное представление при использовании этой политики.
  • ALWAYS_UPDATE: курсор всегда отслеживает изменения документа. При обычных изменениях он увеличивает свою позицию, если вставка происходит до или на его текущей позиции, и уменьшает позицию, если удаление происходит до его текущей позиции. При обновлениях отмены/повтора он всегда перемещается в позицию, где произошло обновление. Курсор также пытается сохранить свою видимость, вызывая метод adjustVisibility.
  • UPDATE_WHEN_ON_EDT: действует как ALWAYS_UPDATE если обновления документа выполняются в потоке обработки событий и как NEVER_UPDATE если обновления выполняются в другом потоке.

Значение по умолчанию — UPDATE_WHEN_ON_EDT.

Параметры:
policy - одно из следующих значений: UPDATE_WHEN_ON_EDT, NEVER_UPDATE, ALWAYS_UPDATE
Исключения:
IllegalArgumentException - если передано недопустимое значение
С:
1.5
См. также:
  • getUpdatePolicy()
  • adjustVisibility(java.awt.Rectangle)
  • UPDATE_WHEN_ON_EDT
  • NEVER_UPDATE
  • ALWAYS_UPDATE

getUpdatePolicy

public int getUpdatePolicy()
Получает политику перемещения курсора при обновлениях документа.
Возвращает:
одно из следующих значений: UPDATE_WHEN_ON_EDT, NEVER_UPDATE, ALWAYS_UPDATE
С:
1.5
См. также:
  • setUpdatePolicy(int)
  • UPDATE_WHEN_ON_EDT
  • NEVER_UPDATE
  • ALWAYS_UPDATE

getComponent

protected final JTextComponent getComponent()
Получает компонент текстового редактора, к которому привязан данный курсор.
Возвращает:
компонент

repaint

protected final void repaint()
Заставляет перерисовать курсор. Областью перерисовки является прямоугольник курсора (т.е. прямоугольник курсора или this).

Этот метод потокобезопасен, хотя большинство методов Swing не являются таковыми. Пожалуйста, обратитесь к Конкурентность в Swing для получения дополнительной информации.

damage

protected void damage(Rectangle r)
Повреждает область вокруг курсора, чтобы заставить его перерисоваться в новом месте. Если метод paint() переопределён, следует также переопределить этот метод. Этот метод должен обновить границы курсора (x, y, ширина и высота).
Параметры:
r - текущее расположение курсора
См. также:
  • paint(java.awt.Graphics)

adjustVisibility

protected void adjustVisibility(Rectangle nloc)
Прокручивает связанное представление (при необходимости), чтобы сделать курсор видимым. Поскольку способ, которым это должно быть сделано, является чем-то вроде политики, этот метод может быть переопределён для изменения поведения. По умолчанию вызывается метод scrollRectToVisible на связанном компоненте.
Параметры:
nloc - новое положение для прокрутки

getSelectionPainter

protected Highlighter.HighlightPainter getSelectionPainter()
Получает рисовальщик для Highlighter.
Возвращает:
рисовальщик

positionCaret

protected void positionCaret(MouseEvent e)
Пытается установить позицию курсора из координат события мыши, используя viewToModel().
Параметры:
e - событие мыши

moveCaret

protected void moveCaret(MouseEvent e)
Пытается переместить позицию курсора из координат события мыши, используя viewToModel(). Это приведет к выделению, если точка и метка различаются.
Параметры:
e - событие мыши

focusGained

public void focusGained(FocusEvent e)
Вызывается, когда компонент, содержащий курсор, получает фокус. Это реализовано для отображения курсора, если компонент редактируемый.
Определено в:
focusGained в интерфейсе FocusListener
Параметры:
e - событие получения фокуса
См. также:
  • FocusListener.focusGained(java.awt.event.FocusEvent)

focusLost

public void focusLost(FocusEvent e)
Вызывается, когда компонент, содержащий курсор, теряет фокус. Это реализовано для отображения курсора в скрытом состоянии.
Определено в:
focusLost в интерфейсе FocusListener
Параметры:
e - событие потери фокуса
См. также:
  • FocusListener.focusLost(java.awt.event.FocusEvent)

mouseClicked

public void mouseClicked(MouseEvent e)
Вызывается при щелчке мышью. Если щелчок был сгенерирован левой кнопкой, двойной щелчок выделяет слово, а тройной щелчок — текущую строку.
Определено в:
mouseClicked в интерфейсе MouseListener
Параметры:
e - событие щелчка мышью
См. также:
  • MouseListener.mouseClicked(java.awt.event.MouseEvent)

Нажатие мыши

public void mousePressed(MouseEvent e)
Если нажата кнопка 1, это реализуется для запроса фокуса на связанном текстовом компоненте и установки позиции курсора. Если удерживается клавиша Shift, позиция курсора будет перемещена, что может привести к выделению, в противном случае позиция курсора будет установлена в новое местоположение. Если компонент не активен, запрос фокуса не будет выполнен.
Определено в:
mousePressed в интерфейсе MouseListener
Параметры:
e - событие мыши
См. также:
  • MouseListener.mousePressed(java.awt.event.MouseEvent)

Отпускание мыши

public void mouseReleased(MouseEvent e)
Вызывается при отпускании кнопки мыши.
Определено в:
mouseReleased в интерфейсе MouseListener
Параметры:
e - событие мыши
См. также:
  • MouseListener.mouseReleased(java.awt.event.MouseEvent)

Ввод мыши

public void mouseEntered(MouseEvent e)
Вызывается при входе мыши в область.
Определено в:
mouseEntered в интерфейсе MouseListener
Параметры:
e - событие мыши
См. также:
  • MouseListener.mouseEntered(java.awt.event.MouseEvent)

Выход мыши

public void mouseExited(MouseEvent e)
Вызывается при выходе мыши из области.
Определено в:
mouseExited в интерфейсе MouseListener
Параметры:
e - событие мыши
См. также:
  • MouseListener.mouseExited(java.awt.event.MouseEvent)

Перетаскивание мыши

public void mouseDragged(MouseEvent e)
Перемещает позицию курсора в соответствии с текущим положением указателя мыши. Это эффективно расширяет выделение. По умолчанию это выполняется только для кнопки мыши 1.
Определено в:
mouseDragged в интерфейсе MouseMotionListener
Параметры:
e - событие мыши
См. также:
  • MouseMotionListener.mouseDragged(java.awt.event.MouseEvent)

Движение мыши

public void mouseMoved(MouseEvent e)
Вызывается при перемещении мыши.
Определено в:
mouseMoved в интерфейсе MouseMotionListener
Параметры:
e - событие мыши
См. также:
  • MouseMotionListener.mouseMoved(java.awt.event.MouseEvent)

Рисование

public void paint(Graphics g)
Отображает курсор в виде вертикальной линии. Если это переопределено, метод damage также должен быть переопределен, так как он предполагает, что форма курсора — вертикальная линия. Устанавливает цвет курсора в значение, возвращаемое методом getCaretColor().

Если в ассоциированном документе присутствует несколько направлений текста, будет отображаться флаг, указывающий смещение курсора. Это произойдет только в том случае, если связанный документ является подклассом AbstractDocument и в структуре элемента bidi присутствует несколько уровней bidi (т. е. текст имеет несколько связанных с ним направлений).

Определено в:
paint в интерфейсе Caret
Параметры:
g - контекст графики
См. также:
  • damage(java.awt.Rectangle)

Установка

public void install(JTextComponent c)
Вызывается при установке пользовательского интерфейса в интерфейс JTextComponent. Это можно использовать для доступа к модели, по которой происходит навигация с помощью реализации данного интерфейса. Устанавливает точку и метку в 0 и устанавливает слушатели документов, изменений свойств, фокуса, мыши и движений мыши.
Определено в:
install в интерфейсе Caret
Параметры:
c - компонент
См. также:
  • Caret.install(javax.swing.text.JTextComponent)

Удаление

public void deinstall(JTextComponent c)
Вызывается при удалении пользовательского интерфейса из интерфейса JTextComponent. Используется для отмены регистрации любых подключенных слушателей.
Определено в:
deinstall в интерфейсе Caret
Параметры:
c - компонент
См. также:
  • Caret.deinstall(javax.swing.text.JTextComponent)

Добавить слушателя изменений

public void addChangeListener(ChangeListener l)
Добавляет слушателя для отслеживания случаев изменения позиции курсора.
Определено в:
addChangeListener в интерфейсе Caret
Параметры:
l - слушатель
См. также:
  • Caret.addChangeListener(javax.swing.event.ChangeListener)

Удалить слушателя изменений

public void removeChangeListener(ChangeListener l)
Удаляет слушателя, который отслеживал изменения положения курсора.
Определено в:
removeChangeListener в интерфейсе Caret
Параметры:
l - слушатель
См. также:
  • Caret.removeChangeListener(javax.swing.event.ChangeListener)

Получить слушателей изменений

public ChangeListener[] getChangeListeners()
Возвращает массив всех слушателей изменений, зарегистрированных в этом курсоре.
Возвращает:
все слушатели изменений данного курсора или пустой массив, если слушатели изменений не зарегистрированы
С:
1.4
См. также:
  • addChangeListener(javax.swing.event.ChangeListener)
  • removeChangeListener(javax.swing.event.ChangeListener)

Сгенерировать событие изменения состояния

protected void fireStateChanged()
Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. Экземпляр события создается лениво с использованием параметров, переданных в метод fire. Список слушателей обрабатывается с конца в начало.
См. также:
  • EventListenerList

Получить слушателей

public <T extends EventListener> T[] getListeners(Class<T> listenerType)
Возвращает массив всех объектов, в настоящее время зарегистрированных как слушатели на этом курсоре. Слушатели регистрируются с помощью метода addFooListener.

Вы можете указать аргумент listenerType с помощью литерала класса, например, FooListener.class. Например, вы можете запросить слушателей изменений в DefaultCaret c следующим кодом:

ChangeListener[] cls = (ChangeListener[])(c.getListeners(ChangeListener.class));
Если таких слушателей не существует, этот метод возвращает пустой массив.
Тип параметров:
T - тип слушателя
Параметры:
listenerType - тип запрашиваемых слушателей
Возвращает:
массив всех объектов, зарегистрированных в качестве слушателей на этом компоненте, или пустой массив, если такие слушатели не были добавлены
Исключения:
ClassCastException - если listenerType не указывает класс или интерфейс, реализующий java.util.EventListener
С:
1.3
См. также:
  • getChangeListeners()

Установить видимость выделения

public void setSelectionVisible(boolean vis)
Изменяет видимость выделения.
Определено в:
setSelectionVisible в интерфейсе Caret
Параметры:
vis - новая видимость

Видимость выделения

public boolean isSelectionVisible()
Проверяет, видима ли текущая область выделения.
Определено в:
isSelectionVisible в интерфейсе Caret
Возвращает:
true, если выделение видимо

Активен

public boolean isActive()
Определяет, активен ли в данный момент курсор.

Этот метод возвращает значение, указывающее, находится ли Caret в настоящее время в мигающем состоянии. Он не предоставляет информацию о том, в настоящее время мигает курсор или нет. Чтобы определить, в настоящее время курсор нарисован, используйте метод isVisible.

Возвращает:
true если активен, иначе false
С:
1.5
См. также:
  • isVisible()

isVisible

public boolean isVisible()
Указывает, отображается ли в данный момент курсор. Поскольку курсор мигает, значение возвращаемого результата будет меняться между true, когда курсор отображается, и false, когда курсор не отображается. isActive указывает, находится ли курсор в мигающем состоянии, так что он может быть видимым, а isVisible указывает, действительно ли курсор виден.

Подклассы, которые хотят отображать мигающий курсор, должны переопределить paint и отображать курсор только в том случае, если этот метод возвращает true.

Specified by:
isVisible в интерфейсе Caret
Returns:
true, если виден, иначе false
See Also:
  • Caret.isVisible()
  • isActive()

setVisible

public void setVisible(boolean e)
Устанавливает видимость курсора и перерисовывает его. Важно понять взаимосвязь между этим методом, isVisible и isActive. Вызов этого метода со значением true активирует мигание курсора. Установка его в значение false полностью отключает его. Чтобы определить, активен ли мигание, необходимо вызвать isActive. По сути, isActive является соответствующим методом-«получателем» для этого метода. isVisible можно использовать для получения текущего статуса видимости курсора, то есть того, отображается ли он в данный момент. Этот статус будет изменяться при мигании курсора.

Вот список возможных значений возврата isActive и isVisible после вызова этого метода:

setVisible(true):

  • isActive(): true
  • isVisible(): true или false в зависимости от того, мигает ли курсор или нет

setVisible(false):

  • isActive(): false
  • isVisible(): false
Specified by:
setVisible в интерфейсе Caret
Parameters:
e - спецификатор видимости
See Also:
  • isActive()
  • Caret.setVisible(boolean)

setBlinkRate

public void setBlinkRate(int rate)
Устанавливает скорость мигания курсора.
Specified by:
setBlinkRate в интерфейсе Caret
Parameters:
rate - скорость в миллисекундах, 0 для остановки мигания
See Also:
  • Caret.setBlinkRate(int)

getBlinkRate

public int getBlinkRate()
Получает скорость мигания курсора.
Specified by:
getBlinkRate в интерфейсе Caret
Returns:
задержка в миллисекундах. Если она равна нулю, курсор не будет мигать.
See Also:
  • Caret.getBlinkRate()

getDot

public int getDot()
Возвращает текущую позицию курсора.
Specified by:
getDot в интерфейсе Caret
Returns:
позиция >= 0
See Also:
  • Caret.getDot()

getMark

public int getMark()
Возвращает текущую позицию метки. Если есть выделение, точка и метка не будут одинаковыми.
Specified by:
getMark в интерфейсе Caret
Returns:
позиция >= 0
See Also:
  • Caret.getMark()

setDot

public void setDot(int dot)
Устанавливает позицию курсора и метки в указанную позицию с направлением вперед. Это неявно устанавливает диапазон выделения в ноль.
Specified by:
setDot в интерфейсе Caret
Parameters:
dot - позиция >= 0
See Also:
  • setDot(int, Position.Bias)
  • Caret.setDot(int)

moveDot

public void moveDot(int dot)
Перемещает позицию курсора в указанную позицию с направлением вперед.
Specified by:
moveDot в интерфейсе Caret
Parameters:
dot - позиция >= 0
See Also:
  • moveDot(int, javax.swing.text.Position.Bias)
  • Caret.moveDot(int)

moveDot

public void moveDot(int dot, Position.Bias dotBias)
Перемещает позицию курсора в указанную позицию со указанным смещением.
Parameters:
dot - позиция >= 0
dotBias - смещение для этой позиции, не null
Throws:
IllegalArgumentException - если смещение null
Since:
1.6
See Also:
  • Caret.moveDot(int)

setDot

public void setDot(int dot, Position.Bias dotBias)
Устанавливает позицию курсора и метки в указанную позицию со указанным смещением. Это неявно устанавливает диапазон выделения в ноль.
Parameters:
dot - позиция >= 0
dotBias - смещение для этой позиции, не null
Throws:
IllegalArgumentException - если смещение null
Since:
1.6
See Also:
  • Caret.setDot(int)

getDotBias

public Position.Bias getDotBias()
Возвращает смещение позиции курсора.
Returns:
смещение позиции курсора
Since:
1.6

getMarkBias

public Position.Bias getMarkBias()
Возвращает смещение метки.
Returns:
смещение метки
Since:
1.6

setMagicCaretPosition

public void setMagicCaretPosition(Point p)
Сохраняет текущую позицию курсора. Это используется при действиях перемещения курсора вверх/вниз, перемещаясь между строками, которые имеют неравномерные конечные позиции.
Specified by:
setMagicCaretPosition в интерфейсе Caret
Parameters:
p - позиция
See Also:
  • getMagicCaretPosition()

getMagicCaretPosition

public Point getMagicCaretPosition()
Получает сохраненную позицию курсора.
Specified by:
getMagicCaretPosition в интерфейсе Caret
Returns:
позиция, см. #setMagicCaretPosition
See Also:
  • Caret.setMagicCaretPosition(java.awt.Point)

equals

public boolean equals(Object obj)
Сравнивает этот объект с указанным объектом. Поведение суперкласса по сравнению прямоугольников нежелательно, поэтому это изменено на поведение объекта.
Overrides:
equals в классе Rectangle
Parameters:
obj - объект для сравнения с этим шрифтом
Returns:
true если объекты равны; false в противном случае
See Also:
  • Object.hashCode()
  • HashMap

© 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/DefaultCaret.html

Spec-Zone.ru

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