Класс DefaultCaret
- Все реализуемые интерфейсы:
FocusListener, MouseListener, MouseMotionListener, Shape, Serializable, Cloneable, EventListener, Caret
- Прямые известные подклассы:
BasicTextUI.BasicCaret
public class DefaultCaret extends Rectangle implements Caret, FocusListener, MouseListener, MouseMotionListener
Эта реализация предполагает наличие двух источников асинхронных уведомлений. Поток таймера выполняется асинхронно и заставляет каретку просто перерисовать последнюю ограничивающую рамку. Каретка также отслеживает изменения документа при его редактировании. Обычно это происходит в потоке обработки событий в результате события мыши или клавиатуры. Поведение каретки при синхронном и асинхронном обновлении документа контролируется свойством UpdatePolicy. Перерисовка каретки в новом месте в любом случае выполняется в потоке обработки событий, поскольку вызовы modelToView безопасны только в этом потоке.
Каретка выступает в роли слушателя событий мыши и фокуса для текстового компонента, в который она установлена, и определяет семантику каретки на основе этих событий. Методы-обработчики слушателя можно переопределить, чтобы изменить эту семантику. По умолчанию для установки фокуса и положения каретки используется первая кнопка мыши. Перемещение указателя мыши с нажатой первой кнопкой выделяет непрерывный диапазон в модели. Если связанный текстовый компонент доступен для редактирования, каретка становится видимой при получении фокуса и невидимой при его потере.
По умолчанию для отображения выделения используется Highlighter, связанный с текстовым компонентом. Внешний вид выделения можно настроить, передав отрисовщик, используемый для подсветки. По умолчанию применяется отрисовщик, который отображает сплошной цвет, заданный в связанном текстовом компоненте свойством SelectionColor. Это можно легко изменить, переопределив метод getSelectionPainter.
Настроить внешний вид каретки можно, переопределив метод paint. Если метод paint изменен, следует также переопределить метод damage, чтобы вызвать перерисовку области, необходимой для отображения каретки. Каретка расширяет класс Rectangle, который используется для хранения ограничивающей рамки последнего отображения каретки. Это позволяет каретке безопасно выполнять перерисовку в потоке при перемещении, не вызывая modelToView, поведение которого нестабильно между обновлениями модели и исправлением представления (то есть порядок вызова DocumentListeners не гарантируется).
Магическая позиция каретки устанавливается в null при изменении положения каретки. Для определения нового местоположения (после изменения каретки) используется таймер. Когда таймер срабатывает, если магическая позиция каретки по-прежнему равна null, ей присваивается текущее положение каретки. Любые действия, изменяющие положение каретки и требующие сохранения магической позиции, должны запомнить магическую позицию, изменить курсор, а затем восстановить исходное значение магической позиции. Это позволяет учитывать ее только действиям, которым необходимо сохранять магическую позицию (например, перемещение вверх или вниз).
Предупреждение: Сериализованные объекты этого класса будут несовместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4 в пакет java.beans добавлена поддержка длительного хранения всех JavaBeans. См. XMLEncoder.
- См. также:
Краткое описание вложенных классов
Вложенные классы и интерфейсы, объявленные в классе Rectangle2D
Rectangle2D.Double, Rectangle2D.Float | Модификатор и тип | Класс | Описание |
|---|---|---|
static class |
Rectangle2D.Double |
Класс Double определяет прямоугольник, заданный координатами типа double. |
static class |
Rectangle2D.Float |
Класс Float определяет прямоугольник, заданный координатами типа float. |
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
ALWAYS_UPDATE |
Указывает, что положение каретки должно всегда обновляться в соответствии с изменениями документа, независимо от того, выполняются ли обновления документа в потоке обработки событий. |
protected ChangeEvent |
changeEvent |
Событие изменения модели. |
protected EventListenerList |
listenerList |
Список слушателей событий. |
static final int |
NEVER_UPDATE |
Указывает, что каретка должна оставаться в том же абсолютном положении в документе независимо от любых обновлений документа, за исключением случая, когда из-за удаления длина документа становится меньше текущего положения каретки. |
static final int |
UPDATE_WHEN_ON_EDT |
Указывает, что положение каретки обновляется только при изменении документа в потоке обработки событий. |
Поля, объявленные в классе Rectangle
height, width, x, y | Модификатор и тип | Поле | Описание |
|---|---|---|
int |
height |
Высота Rectangle. |
int |
width |
Ширина Rectangle. |
int |
x |
Координата X верхнего левого угла Rectangle. |
int |
y |
Координата Y верхнего левого угла Rectangle. |
Поля, объявленные в классе Rectangle2D
OUT_BOTTOM, OUT_LEFT, OUT_RIGHT, OUT_TOP | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
OUT_BOTTOM |
Битовая маска, указывающая, что точка находится ниже этого Rectangle2D. |
static final int |
OUT_LEFT |
Битовая маска, указывающая, что точка находится левее этого Rectangle2D. |
static final int |
OUT_RIGHT |
Битовая маска, указывающая, что точка находится правее этого Rectangle2D. |
static final int |
OUT_TOP |
Битовая маска, указывающая, что точка находится выше этого Rectangle2D. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DefaultCaret() |
Создает каретку по умолчанию. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addChangeListener |
Добавляет слушателя для отслеживания изменений положения каретки. |
protected void |
adjustVisibility |
При необходимости прокручивает связанное представление, чтобы каретка стала видимой. |
protected void |
damage |
Повреждает область вокруг каретки, чтобы вызвать её перерисовку в новом месте. |
void |
deinstall |
Вызывается при удалении пользовательского интерфейса из интерфейса JTextComponent. |
boolean |
equals |
Сравнивает этот объект с указанным объектом. |
protected void |
fireStateChanged() |
Уведомляет всех слушателей, зарегистрировавших интерес к уведомлениям о событиях этого типа. |
void |
focusGained |
Вызывается, когда компонент, содержащий каретку, получает фокус. |
void |
focusLost |
Вызывается, когда компонент, содержащий каретку, теряет фокус. |
int |
getBlinkRate() |
Возвращает частоту мигания каретки. |
ChangeListener[] |
getChangeListeners() |
Возвращает массив всех слушателей изменений, зарегистрированных для этой каретки. |
protected final JTextComponent |
getComponent() |
Возвращает компонент текстового редактора, к которому привязана эта каретка. |
int |
getDot() |
Получает текущее положение каретки. |
Position.Bias |
getDotBias() |
Возвращает смещение положения каретки. |
<T extends EventListener> |
getListeners |
Возвращает массив всех объектов, зарегистрированных в данный момент как FooListeners для этой каретки. |
Point |
getMagicCaretPosition() |
Получает сохранённое положение каретки. |
int |
getMark() |
Получает текущее положение метки. |
Position.Bias |
getMarkBias() |
Возвращает смещение метки. |
protected Highlighter.HighlightPainter |
getSelectionPainter() |
Возвращает средство рисования для Highlighter. |
int |
getUpdatePolicy() |
Возвращает политику перемещения каретки при обновлении документа. |
void |
install |
Вызывается при установке пользовательского интерфейса в интерфейс JTextComponent. |
boolean |
isActive() |
Определяет, активна ли в данный момент каретка. |
boolean |
isSelectionVisible() |
Проверяет, видно ли текущее выделение. |
boolean |
isVisible() |
Указывает, видна ли в данный момент каретка. |
void |
mouseClicked |
Вызывается при щелчке мышью. |
void |
mouseDragged |
Перемещает каретку в соответствии с текущим положением указателя мыши. |
void |
mouseEntered |
Вызывается при входе мыши в область. |
void |
mouseExited |
Вызывается при выходе мыши из области. |
void |
mouseMoved |
Вызывается при перемещении мыши. |
void |
mousePressed |
Если нажата кнопка 1, этот метод запрашивает фокус для связанного текстового компонента и задаёт положение каретки. |
void |
mouseReleased |
Вызывается при отпускании кнопки мыши. |
protected void |
moveCaret |
Пытается переместить каретку в координаты события мыши с помощью viewToModel(). |
void |
moveDot |
Перемещает каретку в указанное положение с прямым смещением. |
void |
moveDot |
Перемещает каретку в указанное положение с заданным смещением. |
void |
paint |
Отображает каретку в виде вертикальной линии. |
protected void |
positionCaret |
Пытается задать положение каретки по координатам события мыши с помощью viewToModel(). |
void |
removeChangeListener |
Удаляет слушателя, отслеживавшего изменения положения каретки. |
protected final void |
repaint() |
Вызывает отрисовку каретки. |
void |
setBlinkRate |
Задаёт частоту мигания каретки. |
void |
setDot |
Задаёт положение каретки и метки в указанное положение с прямым смещением. |
void |
setDot |
Задаёт положение каретки и метки в указанное положение с заданным смещением. |
void |
setMagicCaretPosition |
Сохраняет текущее положение каретки. |
void |
setSelectionVisible |
Изменяет видимость выделения. |
void |
setUpdatePolicy |
Задаёт политику перемещения каретки при обновлении документа. |
void |
setVisible |
Задаёт видимость каретки и перерисовывает её. |
Методы, объявленные в классе 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 | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
add |
Добавляет точку, заданную целочисленными аргументами newx,newy, к границам этого Rectangle. |
void |
add |
Добавляет указанный Point к границам этого Rectangle. |
void |
add |
Добавляет Rectangle к этому Rectangle. |
boolean |
contains |
Проверяет, содержит ли это Rectangle точку в указанном положении (x,y). |
boolean |
contains |
Проверяет, полностью ли это Rectangle содержит Rectangle в указанном положении (X,Y) и с указанными размерами (W,H). |
boolean |
contains |
Проверяет, содержит ли это Rectangle указанный Point. |
boolean |
contains |
Проверяет, полностью ли это Rectangle содержит указанный Rectangle. |
Rectangle2D |
createIntersection |
Возвращает новый объект Rectangle2D, представляющий пересечение этого Rectangle2D с указанным Rectangle2D. |
Rectangle2D |
createUnion |
Возвращает новый объект Rectangle2D, представляющий объединение этого Rectangle2D с указанным Rectangle2D. |
Rectangle |
getBounds() |
Возвращает ограничивающий Rectangle этого Rectangle. |
Rectangle2D |
getBounds2D() |
Возвращает ограничивающий прямоугольник Shape с более высокой точностью, чем метод getBounds. |
double |
getHeight() |
Возвращает высоту ограничивающего Rectangle с точностью double. |
Point |
getLocation() |
Возвращает положение этого Rectangle. |
Dimension |
getSize() |
Возвращает размер этого Rectangle, представленный возвращаемым Dimension. |
double |
getWidth() |
Возвращает ширину ограничивающего Rectangle с точностью double. |
double |
getX() |
Возвращает координату X ограничивающего Rectangle с точностью double. |
double |
getY() |
Возвращает координату Y ограничивающего Rectangle с точностью double. |
void |
grow |
Изменяет размер Rectangle по горизонтали и вертикали. |
boolean |
inside |
Устарело. |
Rectangle |
intersection |
Вычисляет пересечение этого Rectangle с указанным Rectangle. |
boolean |
intersects |
Определяет, пересекаются ли это Rectangle и указанный Rectangle. |
boolean |
isEmpty() |
Определяет, является ли RectangularShape пустым. |
void |
move |
Устарело. Начиная с JDK версии 1.1 заменено на setLocation(int, int). |
int |
outcode |
Определяет положение указанных координат относительно этого Rectangle2D. |
void |
reshape |
Устарело. Начиная с JDK версии 1.1 заменено на setBounds(int, int, int, int). |
void |
resize |
Устарело. Начиная с JDK версии 1.1 заменено на setSize(int, int). |
void |
setBounds |
Задаёт ограничивающий Rectangle этого Rectangle указанными значениями x, y, width и height. |
void |
setBounds |
Задаёт ограничивающий Rectangle этого Rectangle в соответствии с указанным Rectangle. |
void |
setLocation |
Перемещает это Rectangle в указанное положение. |
void |
setLocation |
Перемещает это Rectangle в указанное положение. |
void |
setRect |
Задаёт границы этого Rectangle как целочисленные границы, охватывающие указанные x, y, width и height. |
void |
setSize |
Задаёт для этого Rectangle указанные ширину и высоту. |
void |
setSize |
Задаёт размер этого Rectangle в соответствии с указанным Dimension. |
String |
toString() |
Возвращает String, представляющий это Rectangle и его значения. |
void |
translate |
Смещает это Rectangle на указанное расстояние вправо вдоль оси X и вниз вдоль оси Y. |
Rectangle |
union |
Вычисляет объединение этого Rectangle с указанным Rectangle. |
Методы, объявленные в классе Rectangle2D
add, add, add, contains, contains, getPathIterator, getPathIterator, hashCode, intersect, intersects, intersectsLine, intersectsLine, outcode, setFrame, setRect, union | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
add |
Добавляет точку, заданную аргументами двойной точности newx и newy, к этому Rectangle2D. |
void |
add |
Добавляет объект Point2D pt к этому Rectangle2D. |
void |
add |
Добавляет объект Rectangle2D к этому Rectangle2D. |
boolean |
contains |
Проверяет, находятся ли указанные координаты внутри границы Shape, как описано в определении нахождения внутри. |
boolean |
contains |
Проверяет, полностью ли внутренняя область Shape содержит указанную прямоугольную область. |
PathIterator |
getPathIterator |
Возвращает объект-итератор, описывающий границу этого Rectangle2D. |
PathIterator |
getPathIterator |
Возвращает объект-итератор, описывающий границу упрощённого Rectangle2D. |
int |
hashCode() |
Возвращает хеш-код этого Rectangle2D. |
static void |
intersect |
Пересекает указанную пару исходных объектов Rectangle2D и помещает результат в указанный целевой объект Rectangle2D. |
boolean |
intersects |
Проверяет, пересекает ли внутренняя область Shape внутреннюю область указанного прямоугольника. |
boolean |
intersectsLine |
Проверяет, пересекает ли указанный отрезок внутреннюю область этого Rectangle2D. |
boolean |
intersectsLine |
Проверяет, пересекает ли указанный отрезок внутреннюю область этого Rectangle2D. |
int |
outcode |
Определяет положение указанной Point2D относительно этого Rectangle2D. |
void |
setFrame |
Задаёт положение и размер внешних границ этого Rectangle2D указанными значениями прямоугольника. |
void |
setRect |
Задаёт этому Rectangle2D значения указанного Rectangle2D. |
static void |
union |
Объединяет пару исходных объектов Rectangle2D и помещает результат в указанный целевой объект Rectangle2D. |
Методы, объявленные в классе RectangularShape
clone, contains, contains, getCenterX, getCenterY, getFrame, getMaxX, getMaxY, getMinX, getMinY, intersects, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal | Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Создаёт новый объект того же класса с тем же содержимым, что и у этого объекта. |
boolean |
contains |
Проверяет, находится ли указанная Point2D внутри границы Shape, как описано в определении нахождения внутри. |
boolean |
contains |
Проверяет, полностью ли внутренняя область Shape содержит указанный Rectangle2D. |
double |
getCenterX() |
Возвращает координату X центра ограничивающего прямоугольника Shape с точностью double. |
double |
getCenterY() |
Возвращает координату Y центра ограничивающего прямоугольника Shape с точностью double. |
Rectangle2D |
getFrame() |
Возвращает ограничивающий Rectangle2D, определяющий общую форму этого объекта. |
double |
getMaxX() |
Возвращает наибольшую координату X ограничивающего прямоугольника Shape с точностью double. |
double |
getMaxY() |
Возвращает наибольшую координату Y ограничивающего прямоугольника Shape с точностью double. |
double |
getMinX() |
Возвращает наименьшую координату X ограничивающего прямоугольника Shape с точностью double. |
double |
getMinY() |
Возвращает наименьшую координату Y ограничивающего прямоугольника Shape с точностью double. |
boolean |
intersects |
Проверяет, пересекает ли внутренняя область Shape внутреннюю область указанного Rectangle2D. |
void |
setFrame |
Задаёт положение и размер ограничивающего прямоугольника этого Shape, используя соответственно указанную Point2D и Dimension2D. |
void |
setFrame |
Задаёт для этого Shape указанный Rectangle2D в качестве ограничивающего прямоугольника. |
void |
setFrameFromCenter |
Задаёт ограничивающий прямоугольник этого Shape на основе указанных координат центральной и угловой точек. |
void |
setFrameFromCenter |
Задаёт ограничивающий прямоугольник этого Shape на основе указанного центра Point2D и угла Point2D. |
void |
setFrameFromDiagonal |
Задаёт диагональ ограничивающего прямоугольника этого Shape на основе двух указанных координат. |
void |
setFrameFromDiagonal |
Задаёт диагональ ограничивающего прямоугольника этого Shape на основе двух указанных объектов Point2D. |
Методы, объявленные в классе Object
finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected void |
finalize() |
Устарело, подлежит удалению: этот элемент API может быть удалён в будущей версии. Финализация устарела и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание полей
UPDATE_WHEN_ON_EDT
public static final int UPDATE_WHEN_ON_EDT
- Начиная с версии:
- 1.5
- См. также:
NEVER_UPDATE
public static final int NEVER_UPDATE
- Начиная с версии:
- 1.5
- См. также:
ALWAYS_UPDATE
public static final int ALWAYS_UPDATE
- Начиная с версии:
- 1.5
- См. также:
listenerList
protected EventListenerList listenerList
changeEvent
protected transient ChangeEvent changeEvent
Подробное описание конструкторов
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
public int getUpdatePolicy()
- Возвращает:
- одно из следующих значений:
UPDATE_WHEN_ON_EDT,NEVER_UPDATE,ALWAYS_UPDATE - Начиная с версии:
- 1.5
- См. также:
getComponent
protected final JTextComponent getComponent()
- Возвращает:
- компонент
repaint
protected final void repaint()
Этот метод потокобезопасен, хотя большинство методов Swing таковыми не являются. Дополнительные сведения см. в разделе Параллельное программирование в Swing.
damage
protected void damage(Rectangle r)
- Параметры:
-
r— текущее местоположение каретки - См. также:
adjustVisibility
protected void adjustVisibility(Rectangle nloc)
- Параметры:
-
nloc— новое положение для прокрутки
getSelectionPainter
protected Highlighter.HighlightPainter getSelectionPainter()
- Возвращает:
- средство отрисовки
positionCaret
protected void positionCaret(MouseEvent e)
- Параметры:
-
e— событие мыши
moveCaret
protected void moveCaret(MouseEvent e)
- Параметры:
-
e— событие мыши
focusGained
public void focusGained(FocusEvent e)
- Определено в:
-
focusGainedв интерфейсеFocusListener - Параметры:
-
e— событие фокуса - См. также:
focusLost
public void focusLost(FocusEvent e)
- Определено в:
-
focusLostв интерфейсеFocusListener - Параметры:
-
e— событие фокуса - См. также:
mouseClicked
public void mouseClicked(MouseEvent e)
- Определено в:
-
mouseClickedв интерфейсеMouseListener - Параметры:
-
e— событие мыши - См. также:
mousePressed
public void mousePressed(MouseEvent e)
- Определено в:
-
mousePressedв интерфейсеMouseListener - Параметры:
-
e— событие мыши - См. также:
mouseReleased
public void mouseReleased(MouseEvent e)
- Определено в:
-
mouseReleasedв интерфейсеMouseListener - Параметры:
-
e— событие мыши - См. также:
mouseEntered
public void mouseEntered(MouseEvent e)
- Определено в:
-
mouseEnteredв интерфейсеMouseListener - Параметры:
-
e— событие мыши - См. также:
mouseExited
public void mouseExited(MouseEvent e)
- Определено в:
-
mouseExitedв интерфейсеMouseListener - Параметры:
-
e— событие мыши - См. также:
mouseDragged
public void mouseDragged(MouseEvent e)
- Определено в:
-
mouseDraggedв интерфейсеMouseMotionListener - Параметры:
-
e— событие мыши - См. также:
mouseMoved
public void mouseMoved(MouseEvent e)
- Определено в:
-
mouseMovedв интерфейсеMouseMotionListener - Параметры:
-
e— событие мыши - См. также:
paint
public void paint(Graphics g)
Если связанный документ содержит текст, написанный в разных направлениях, будет отображен флаг, указывающий смещение каретки. Это происходит только в том случае, если связанный документ является подклассом AbstractDocument и структура двунаправленных элементов содержит несколько уровней bidi (то есть текст имеет несколько связанных с ним направлений).
install
public void install(JTextComponent c)
deinstall
addChangeListener
public void addChangeListener(ChangeListener l)
- Определено в:
-
addChangeListenerв интерфейсеCaret - Параметры:
-
l— прослушиватель - См. также:
removeChangeListener
public void removeChangeListener(ChangeListener l)
- Определено в:
-
removeChangeListenerв интерфейсеCaret - Параметры:
-
l— прослушиватель - См. также:
getChangeListeners
public ChangeListener[] getChangeListeners()
- Возвращает:
- все
ChangeListenerэтой каретки или пустой массив, если в данный момент прослушиватели изменений не зарегистрированы - Начиная с версии:
- 1.4
- См. также:
fireStateChanged
protected void fireStateChanged()
- См. также:
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
FooListener для этой каретки. Регистрация FooListener выполняется с помощью метода addFooListener. В качестве аргумента listenerType можно указать литерал класса, например FooListener.class. Например, можно запросить у DefaultCaret c список прослушивателей изменений следующим образом:
ChangeListener[] cls = (ChangeListener[])(c.getListeners(ChangeListener.class));Если таких прослушивателей нет, этот метод возвращает пустой массив.
- Параметры типа:
T— тип прослушивателя- Параметры:
-
listenerType— тип запрашиваемых прослушивателей - Возвращает:
- массив всех объектов, зарегистрированных как
FooListenerдля этого компонента, или пустой массив, если такие прослушиватели не добавлены - Исключения:
-
ClassCastException— еслиlistenerTypeне задает класс или интерфейс, реализующийjava.util.EventListener - Начиная с версии:
- 1.3
- См. также:
setSelectionVisible
public void setSelectionVisible(boolean vis)
- Определено в:
-
setSelectionVisibleв интерфейсеCaret - Параметры:
-
vis— новое состояние видимости
isSelectionVisible
public boolean isSelectionVisible()
- Определено в:
-
isSelectionVisibleв интерфейсеCaret - Возвращает:
- true, если выделение видно
isActive
public boolean isActive()
Этот метод возвращает, находится ли Caret в данный момент в состоянии мигания. Он не сообщает, отображается ли каретка в данный момент. Чтобы определить, отрисована ли каретка, используйте метод isVisible.
- Возвращает:
-
true, если каретка активна, иначеfalse - Начиная с версии:
- 1.5
- См. также:
isVisible
public boolean isVisible()
isActive указывает, находится ли каретка в состоянии мигания, то есть может быть видимой, а isVisible указывает, действительно ли каретка видна. Подклассы, которым требуется отрисовывать иначе мигающую каретку, должны переопределить paint и отрисовывать каретку, только если этот метод возвращает true.
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
- Определено в:
-
setVisibleв интерфейсеCaret - Параметры:
-
e— признак видимости - См. также:
setBlinkRate
public void setBlinkRate(int rate)
- Определено в:
-
setBlinkRateв интерфейсеCaret - Параметры:
-
rate— интервал в миллисекундах; 0 отключает мигание - См. также:
getBlinkRate
public int getBlinkRate()
- Определено в:
-
getBlinkRateв интерфейсеCaret - Возвращает:
- задержку в миллисекундах. Если ее значение равно нулю, каретка не мигает.
- См. также:
getDot
getMark
setDot
moveDot
moveDot
public void moveDot(int dot, Position.Bias dotBias)
- Параметры:
-
dot— позиция >= 0 -
dotBias— смещение для этой позиции, неnull - Исключения:
-
IllegalArgumentException— если смещение равноnull - Начиная с версии:
- 1.6
- См. также:
setDot
public void setDot(int dot, Position.Bias dotBias)
- Параметры:
-
dot— позиция >= 0 -
dotBias— смещение для этой позиции, неnull - Исключения:
-
IllegalArgumentException— если смещение равноnull - Начиная с версии:
- 1.6
- См. также:
getDotBias
public Position.Bias getDotBias()
- Возвращает:
- смещение позиции каретки
- Начиная с версии:
- 1.6
getMarkBias
public Position.Bias getMarkBias()
- Возвращает:
- смещение метки
- Начиная с версии:
- 1.6
setMagicCaretPosition
public void setMagicCaretPosition(Point p)
- Определено в:
-
setMagicCaretPositionв интерфейсеCaret - Параметры:
-
p— позиция - См. также:
getMagicCaretPosition
public Point getMagicCaretPosition()
- Определено в:
-
getMagicCaretPositionв интерфейсеCaret - Возвращает:
- позиция; см. #setMagicCaretPosition
- См. также:
equals
public boolean equals(Object obj)
© 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.
contains(int, int).