Spec-Zone.ru › OpenJDK 24

Класс 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 безопасны только в потоке обработки событий.

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

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

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

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

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками 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
Указывает, что позиция курсора должна обновляться только при выполнении изменений документа в потоке обработки событий.
Since:
1.5
См. также:
  • setUpdatePolicy(int)
  • getUpdatePolicy()
  • Значения константных полей

NEVER_UPDATE

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

ALWAYS_UPDATE

public static final int ALWAYS_UPDATE
Указывает, что позиция курсора должна всегда обновляться в соответствии с изменениями документа независимо от того, выполняются ли эти изменения в потоке обработки событий или нет.
Since:
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 — если передано недопустимое значение
Since:
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
Since:
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)
Вызывается при щелчке мыши. Если щелчок был сгенерирован кнопкой мыши 1, двойной щелчок выбирает слово, а тройной щелчок — текущую строку.
Specified by:
mouseClicked in interface MouseListener
Parameters:
e - событие щелчка мыши
See Also:
  • MouseListener.mouseClicked(java.awt.event.MouseEvent)

mousePressed

public void mousePressed(MouseEvent e)
Если нажата кнопка мыши 1, эта реализация запрашивает фокус для связанного текстового компонента и устанавливает позицию курсора. Если удерживается клавиша Shift, позиция курсора будет перемещена, что может привести к выделению, в противном случае позиция курсора будет установлена в новое местоположение. Если компонент не включён, запрос фокуса не будет выполнен.
Specified by:
mousePressed in interface MouseListener
Parameters:
e - событие нажатия мыши
See Also:
  • MouseListener.mousePressed(java.awt.event.MouseEvent)

mouseReleased

public void mouseReleased(MouseEvent e)
Вызывается при отпускании кнопки мыши.
Specified by:
mouseReleased in interface MouseListener
Parameters:
e - событие отпускания мыши
See Also:
  • MouseListener.mouseReleased(java.awt.event.MouseEvent)

mouseEntered

public void mouseEntered(MouseEvent e)
Вызывается при входе мыши в область.
Specified by:
mouseEntered in interface MouseListener
Parameters:
e - событие входа мыши
See Also:
  • MouseListener.mouseEntered(java.awt.event.MouseEvent)

mouseExited

public void mouseExited(MouseEvent e)
Вызывается при выходе мыши из области.
Specified by:
mouseExited in interface MouseListener
Parameters:
e - событие выхода мыши
See Also:
  • MouseListener.mouseExited(java.awt.event.MouseEvent)

mouseDragged

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

mouseMoved

public void mouseMoved(MouseEvent e)
Вызывается при перемещении мыши.
Specified by:
mouseMoved in interface MouseMotionListener
Parameters:
e - событие перемещения мыши
See Also:
  • MouseMotionListener.mouseMoved(java.awt.event.MouseEvent)

paint

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

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

Specified by:
paint in interface Caret
Parameters:
g - контекст графики
See Also:
  • damage(java.awt.Rectangle)

install

public void install(JTextComponent c)
Вызывается при установке пользовательского интерфейса в интерфейс JTextComponent. Это можно использовать для доступа к модели, которая просматривается реализацией данного интерфейса. Устанавливает dot и mark в 0 и устанавливает слушатели документов, изменения свойств, фокуса, мыши и перемещения мыши.
Specified by:
install in interface Caret
Parameters:
c - компонент
See Also:
  • Caret.install(javax.swing.text.JTextComponent)

deinstall

public void deinstall(JTextComponent c)
Вызывается при удалении пользовательского интерфейса из интерфейса JTextComponent. Используется для отмены регистрации любых слушателей, которые были присоединены.
Specified by:
deinstall in interface Caret
Parameters:
c - компонент
See Also:
  • Caret.deinstall(javax.swing.text.JTextComponent)

addChangeListener

public void addChangeListener(ChangeListener l)
Добавляет слушателя для отслеживания каждого изменения позиции курсора.
Specified by:
addChangeListener in interface Caret
Parameters:
l - слушатель
See Also:
  • Caret.addChangeListener(javax.swing.event.ChangeListener)

removeChangeListener

public void removeChangeListener(ChangeListener l)
Удаляет слушателя, который отслеживал изменения позиции курсора.
Specified by:
removeChangeListener in interface Caret
Parameters:
l - слушатель
See Also:
  • Caret.removeChangeListener(javax.swing.event.ChangeListener)

getChangeListeners

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

fireStateChanged

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

getListeners

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

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

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

setSelectionVisible

public void setSelectionVisible(boolean vis)
Изменяет видимость выделения.
Specified by:
setSelectionVisible in interface Caret
Parameters:
vis - новая видимость

isSelectionVisible

public boolean isSelectionVisible()
Проверяет, является ли текущее выделение видимым.
Specified by:
isSelectionVisible in interface Caret
Returns:
true, если выделение видимое

isActive

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

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

Returns:
true, если активен, иначе false
Since:
1.5
See Also:
  • isVisible()

isVisible

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

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

Specified by:
isVisible in interface 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 in interface Caret
Parameters:
e - указатель видимости
See Also:
  • isActive()
  • Caret.setVisible(boolean)

setBlinkRate

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

getBlinkRate

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

getDot

public int getDot()
Получает текущую позицию курсора.
Specified by:
getDot in interface Caret
Returns:
позиция >= 0
See Also:
  • Caret.getDot()

getMark

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

setDot

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

moveDot

public void moveDot(int dot)
Перемещает позицию курсора в указанную позицию со смещением вперёд.
Specified by:
moveDot in interface 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 in interface Caret
Parameters:
p - позиция
See Also:
  • getMagicCaretPosition()

getMagicCaretPosition

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

equals

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

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

Spec-Zone.ru

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