Класс AsyncBoxView.ChildLocator
java.lang.Object
javax.swing.text.AsyncBoxView.ChildLocator
- Внешний класс:
AsyncBoxView
public class AsyncBoxView.ChildLocator extends Object
Класс для управления фактическим положением дочерних представлений в локальной области, пока вокруг неё происходят изменения. AsyncBoxView может непрерывно изменяться, но видимая область должна оставаться достаточно стабильной, пока поток компоновки не решит опубликовать обновление для родительского объекта.
- С версии:
- 1.3
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected Rectangle |
childAlloc |
Форма для области дочернего представления, позволяющая избежать создания большого количества мусора. |
protected Rectangle |
lastAlloc |
Последняя известная область (для перерисовки при передаче изменений вверх). |
protected AsyncBoxView.ChildState |
lastValidOffset |
Положение последнего действительного вычисления смещения. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ChildLocator() |
Создаёт локатор дочерних представлений. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
childChanged |
Уведомление об изменении дочернего представления. |
protected Shape |
getChildAllocation |
Получает область для дочернего представления. |
Shape |
getChildAllocation |
Получает область для дочернего представления. |
int |
getViewIndexAtPoint |
Получает индекс дочернего представления в заданной точке. |
protected int |
getViewIndexAtVisualOffset |
Находит представление, отвечающее за смещение вдоль главной оси блока. |
void |
paintChildren |
Рисует дочерние представления, пересекающиеся с областью отсечения. |
protected void |
setAllocation |
Копирует текущую выделенную форму в Rectangle, используемый для хранения текущей области. |
Подробное описание полей
lastValidOffset
protected AsyncBoxView.ChildState lastValidOffset
Положение последнего действительного вычисления смещения.
lastAlloc
protected Rectangle lastAlloc
Последняя известная область (для перерисовки при передаче изменений вверх).
childAlloc
protected Rectangle childAlloc
Форма для области дочернего представления, позволяющая избежать создания большого количества мусора.
Подробное описание конструкторов
ChildLocator
public ChildLocator()
Создаёт локатор дочерних представлений.
Подробное описание методов
childChanged
public void childChanged(AsyncBoxView.ChildState cs)
Уведомление об изменении дочернего представления. Это может повлиять на необходимость новых вычислений смещений. Метод вызывается объектом ChildState, у которого изменился размер вдоль главной оси. Поэтому метод может вызываться из нескольких потоков.
- Параметры:
-
cs— состояние дочернего представления
paintChildren
public void paintChildren(Graphics g)
Рисует дочерние представления, пересекающиеся с областью отсечения.
- Параметры:
-
g— используемая поверхность для отрисовки
getChildAllocation
public Shape getChildAllocation(int index, Shape a)
Получает область для дочернего представления. Обновляет смещения всех дочерних представлений, которые ещё не были обновлены до заданного индекса.
- Параметры:
-
index— индекс дочернего представления -
a— область - Возвращает:
- область для дочернего представления
getViewIndexAtPoint
public int getViewIndexAtPoint(float x, float y, Shape a)
Получает индекс дочернего представления в заданной точке. Этот метод вызывается различными методами View, которым необходимо определить, какому дочернему представлению передать сообщение. Его следует вызывать в блоке, синхронизированном по этому объекту; обычно за ним следует один или несколько вызовов getChildAllocation, которые также должны находиться в синхронизированном блоке.
- Параметры:
-
x— координата X >= 0 -
y— координата Y >= 0 -
a— область, выделенная для View - Возвращает:
- индекс ближайшего дочернего представления
getChildAllocation
protected Shape getChildAllocation(int index)
Получает область для дочернего представления. Этот метод не обновляет смещения в записях ChildState.
- Параметры:
-
index— индекс - Возвращает:
- область для дочернего представления
setAllocation
protected void setAllocation(Shape a)
Копирует текущую выделенную форму в Rectangle, используемый для хранения текущей области. В реализации, специфичной для Java2D, это будет прямоугольник с координатами с плавающей точкой.
- Параметры:
-
a— область
getViewIndexAtVisualOffset
protected int getViewIndexAtVisualOffset(float targetOffset)
Находит представление, отвечающее за смещение вдоль главной оси блока. Убедитесь, что смещения заданы в объектах ChildState до целевого интервала, расположенного за требуемым смещением.
- Параметры:
-
targetOffset— целевое смещение - Возвращает:
- индекс представления, соответствующего заданному визуальному положению (targetOffset), или -1, если этому положению не соответствует ни одно представление
© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/text/AsyncBoxView.ChildLocator.html