Класс 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(AsyncBoxView.ChildState cs) Уведомление о том, что дочерний элемент изменился. |
protected Shape |
getChildAllocation(int index) Получение распределения для использования дочерним представлением. |
Shape |
getChildAllocation(int index,
Shape a) Получение распределения для использования дочерним представлением. |
int |
getViewIndexAtPoint(float x,
float y,
Shape a) Получение индекса дочернего представления в заданной точке. |
protected int |
getViewIndexAtVisualOffset(float targetOffset) Поиск представления, ответственного за смещение в ящике по основной оси. |
void |
paintChildren(Graphics g) Перерисовка дочерних элементов, пересекающих область обрезки. |
protected void |
setAllocation(Shape a) Копирование текущей распределенной фигуры в прямоугольник, используемый для хранения текущего распределения. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Поля
lastValidOffset
protected AsyncBoxView.ChildState lastValidOffset
Местоположение последнего расчета смещения, которое является допустимым.
lastAlloc
protected Rectangle lastAlloc
Последнее увиденное распределение (для перерисовки, когда изменения передаются вверх).
childAlloc
protected Rectangle childAlloc
Фигура, используемая для распределения дочерних элементов, чтобы избежать создания большого количества мусора.
Конструкторы
ChildLocator
public ChildLocator()
создание локатора дочерних элементов.
Методы
childChanged
public void childChanged(AsyncBoxView.ChildState cs)
Уведомление о том, что дочерний элемент изменился. Это может повлиять на то, требуется ли новый расчет смещения. Вызывается объектом ChildState, изменившим свой основной диапазон. Поэтому его могут вызывать несколько потоков.
paintChildren
public void paintChildren(Graphics g)
Перерисовка дочерних элементов, пересекающих область обрезки.
getChildAllocation
public Shape getChildAllocation(int index,
Shape a) Получение распределения для использования дочерним представлением. Это обновит смещения для всех дочерних элементов, еще не обновленных перед указанным индексом.
getViewIndexAtPoint
public int getViewIndexAtPoint(float x,
float y,
Shape a) Получение индекса дочернего представления в заданной точке. Вызывается различными методами представления, которым необходимо вычислить, какому дочернему элементу отправить сообщение. Это должно вызываться в блоке, синхронизированном с этим объектом, и обычно следует за одним или несколькими вызовами getChildAllocation, которые также должны быть в синхронизированном блоке.
- Параметры:
-
x- координата X >= 0 -
y- координата Y >= 0 -
a- распределение для представления - Возвращает:
- ближайший индекс дочернего элемента
getChildAllocation
protected Shape getChildAllocation(int index)
Получение распределения для использования дочерним представлением. Это не обновляет смещения в записях ChildState.
setAllocation
protected void setAllocation(Shape a)
Копирование текущей распределенной фигуры в прямоугольник, используемый для хранения текущего распределения. Это был бы прямоугольник с плавающей запятой в реализации, специфичной для Java2D.
getViewIndexAtVisualOffset
protected int getViewIndexAtVisualOffset(float targetOffset)
Поиск представления, ответственного за смещение в ящике по основной оси. Убедитесь, что смещения установлены в объектах ChildState до заданного целевого диапазона после желаемого смещения.
- Возвращает:
- индекс представления, представляющего данное визуальное положение (targetOffset), или -1, если это положение не представлено ни одним представлением
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.