Класс AsyncBoxView
- Все реализуемые интерфейсы:
SwingConstants
public class AsyncBoxView extends View
Во время обращения к дочернему представлению для связанного документа захватывается блокировка чтения, чтобы модель оставалась стабильной при доступе к ней.
- Начиная с версии:
- 1.3
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
class |
AsyncBoxView.ChildLocator |
Класс для управления эффективным положением дочерних представлений в локализованной области, пока в этой области вносятся изменения. |
class |
AsyncBoxView.ChildState |
Запись, представляющая состояние компоновки дочернего представления. |
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected AsyncBoxView.ChildLocator |
locator |
Объект, управляющий смещениями дочерних элементов. |
Поля, объявленные в классе View
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
BadBreakWeight |
Вес, указывающий, что представление не подходит для разрыва при форматировании. |
static final int |
ExcellentBreakWeight |
Вес, указывающий, что представление поддерживает разрыв и это очень подходящее место для разрыва. |
static final int |
ForcedBreakWeight |
Вес, указывающий, что представление поддерживает разрыв и его необходимо разбить, чтобы оно было представлено правильно при размещении в представлении, которое форматирует дочерние элементы путем их разбиения. |
static final int |
GoodBreakWeight |
Вес, указывающий, что представление поддерживает разрыв, но, вероятно, существуют более подходящие места. |
static final int |
X_AXIS |
Ось для операций форматирования/разрыва. |
static final int |
Y_AXIS |
Ось для операций форматирования/разрыва. |
Поля, объявленные в интерфейсе SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
BOTTOM |
Константа ориентации бокса, задающая его нижнюю сторону. |
static final int |
CENTER |
Центральное положение в области. |
static final int |
EAST |
Направление по компасу: восток (вправо). |
static final int |
HORIZONTAL |
Горизонтальная ориентация. |
static final int |
LEADING |
Обозначает передний край текста для языков с направлением письма слева направо и справа налево. |
static final int |
LEFT |
Константа ориентации бокса, задающая его левую сторону. |
static final int |
NEXT |
Обозначает следующее направление в последовательности. |
static final int |
NORTH |
Направление по компасу: север (вверх). |
static final int |
NORTH_EAST |
Направление по компасу: северо-восток (вверх и вправо). |
static final int |
NORTH_WEST |
Направление по компасу: северо-запад (вверх и влево). |
static final int |
PREVIOUS |
Обозначает предыдущее направление в последовательности. |
static final int |
RIGHT |
Константа ориентации бокса, задающая его правую сторону. |
static final int |
SOUTH |
Направление по компасу: юг (вниз). |
static final int |
SOUTH_EAST |
Направление по компасу: юго-восток (вниз и вправо). |
static final int |
SOUTH_WEST |
Направление по компасу: юго-запад (вниз и влево). |
static final int |
TOP |
Константа ориентации бокса, задающая его верхнюю сторону. |
static final int |
TRAILING |
Обозначает задний край текста для языков с направлением письма слева направо и справа налево. |
static final int |
VERTICAL |
Вертикальная ориентация. |
static final int |
WEST |
Направление по компасу: запад (влево). |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
AsyncBoxView |
Создает представление-бокс, выполняющее асинхронную компоновку. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected AsyncBoxView.ChildState |
createChildState |
Новые записи ChildState создаются с помощью этого метода, чтобы подклассы могли расширять записи ChildState и добавлять в них данные или функциональность. |
protected void |
flushRequirementChanges() |
Передает изменения предпочтений родительскому представлению. |
float |
getBottomInset() |
Возвращает нижнюю часть поля вокруг представления. |
Shape |
getChildAllocation |
Получает выделенную область для указанного дочернего представления. |
protected AsyncBoxView.ChildState |
getChildState |
Получает объект, представляющий состояние компоновки дочернего элемента с указанным индексом. |
protected boolean |
getEstimatedMajorSpan() |
Оценен ли сейчас основной размер? |
protected float |
getInsetSpan |
Получает размер вдоль оси, занимаемый внутренними отступами. |
protected LayoutQueue |
getLayoutQueue() |
Получает очередь, используемую для компоновки. |
float |
getLeftInset() |
Возвращает левую часть поля вокруг представления. |
int |
getMajorAxis() |
Получает основную ось (ось, вдоль которой располагаются дочерние элементы). |
float |
getMaximumSpan |
Определяет максимальный размер этого представления вдоль оси. |
float |
getMinimumSpan |
Определяет минимальный размер этого представления вдоль оси. |
int |
getMinorAxis() |
Получает второстепенную ось (ось, перпендикулярную оси размещения). |
int |
getNextVisualPositionFrom |
Предоставляет способ определить следующее визуально представленное положение в модели, в котором можно разместить каретку. |
float |
getPreferredSpan |
Определяет предпочтительный размер этого представления вдоль оси. |
float |
getRightInset() |
Возвращает правую часть поля вокруг представления. |
float |
getTopInset() |
Возвращает верхнюю часть поля вокруг представления. |
View |
getView |
Получает n-е дочернее представление. |
int |
getViewCount() |
Возвращает количество представлений в этом представлении. |
int |
getViewIndex |
Возвращает индекс дочернего представления, соответствующий указанному положению в модели. |
protected int |
getViewIndexAtPosition |
Получает индекс дочернего представления, соответствующий указанному положению в модели. |
protected void |
loadChildren |
Загружает все дочерние представления для инициализации представления. |
protected void |
majorRequirementChange |
Требования к основной оси изменились. |
protected void |
minorRequirementChange |
Требования к второстепенной оси изменились. |
Shape |
modelToView |
Предоставляет преобразование координат из пространства координат модели документа в пространство координат соответствующего ей представления. |
void |
paint |
Отображает представление с использованием указанной области размещения и поверхности отрисовки. |
void |
preferenceChanged |
Дочерние представления могут вызывать этот метод у родителя, чтобы сообщить об изменении предпочтения, которое следует повторно учесть при компоновке. |
void |
replace |
Вызывает метод суперкласса для обновления дочерних представлений и обновляет записи состояния дочерних элементов. |
void |
setBottomInset |
Задает нижнюю часть поля вокруг представления. |
protected void |
setEstimatedMajorSpan |
Задает свойство estimatedMajorSpan, определяющее, следует ли считать основной размер оценочным. |
void |
setLeftInset |
Задает левую часть поля вокруг представления. |
void |
setParent |
Задает родительское представление. |
void |
setRightInset |
Задает правую часть поля вокруг представления. |
void |
setSize |
Задает размер представления. |
void |
setTopInset |
Задает верхнюю часть поля вокруг представления. |
protected void |
updateLayout |
Обновляет компоновку в ответ на уведомление об изменении модели. |
int |
viewToModel |
Предоставляет преобразование координат из пространства координат представления в логическое пространство координат модели. |
Методы, объявленные в классе View
append, breakView, changedUpdate, createFragment, forwardUpdate, forwardUpdateToView, getAlignment, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getResizeWeight, getStartOffset, getToolTipText, getViewFactory, getViewIndex, insert, insertUpdate, isVisible, modelToView, modelToView, remove, removeAll, removeUpdate, updateChildren, viewToModel | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
append |
Добавляет одно дочернее представление. |
View |
breakView |
Пытается разбить это представление по указанной оси. |
void |
changedUpdate |
Получает уведомление от документа об изменении атрибутов в области, за которую отвечает это представление. |
View |
createFragment |
Создает представление, отображающее часть элемента. |
protected void |
forwardUpdate |
Передает указанный DocumentEvent дочерним представлениям, которые должны получить уведомление об изменении модели. |
protected void |
forwardUpdateToView |
Передает DocumentEvent указанному дочернему представлению. |
float |
getAlignment |
Определяет желаемое выравнивание этого представления вдоль оси. |
AttributeSet |
getAttributes() |
Получает атрибуты, используемые при отрисовке. |
int |
getBreakWeight |
Определяет, насколько подходит место разрыва в этом представлении. |
Container |
getContainer() |
Получает контейнер, в котором размещено представление. |
Document |
getDocument() |
Получает модель, связанную с представлением. |
Element |
getElement() |
Получает структурную часть объекта, которой соответствует это представление. |
int |
getEndOffset() |
Получает часть модели, за которую отвечает это представление. |
Graphics |
getGraphics() |
Получает Graphics для отрисовки. |
View |
getParent() |
Возвращает родительское представление. |
int |
getResizeWeight |
Определяет возможность изменения размера представления вдоль указанной оси. |
int |
getStartOffset() |
Получает часть модели, за которую отвечает это представление. |
String |
getToolTipText |
Возвращает текст всплывающей подсказки в указанном месте. |
ViewFactory |
getViewFactory() |
Получает реализацию ViewFactory, предоставляющую данные иерархии представлений. |
int |
getViewIndex |
Возвращает индекс дочернего представления, соответствующий указанному положению в представлении. |
void |
insert |
Вставляет одно дочернее представление. |
void |
insertUpdate |
Получает уведомление о вставке данных в документ в области, за которую отвечает это представление. |
boolean |
isVisible() |
Возвращает логическое значение, указывающее, видно ли представление. |
Shape |
modelToView |
Устарело. |
Shape |
modelToView |
Предоставляет преобразование координат для указанной области из пространства координат модели документа в пространство координат представления. |
void |
remove |
Удаляет один из дочерних элементов в указанной позиции. |
void |
removeAll() |
Удаляет все дочерние элементы. |
void |
removeUpdate |
Получает уведомление об удалении данных из документа в области, за которую отвечает это представление. |
protected boolean |
updateChildren |
Обновляет дочерние представления в ответ на уведомление об изменении модели, если имеется запись об изменении элемента, за который отвечает это представление. |
int |
viewToModel |
Устарело. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли другой объект этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация устарела и подлежит удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание полей
locator
protected AsyncBoxView.ChildLocator locator
Подробное описание конструкторов
AsyncBoxView
public AsyncBoxView(Element elem, int axis)
- Параметры:
-
elem— элемент модели для представления -
axis— ось, вдоль которой выполняется разбиение на фрагменты. Это может быть X_AXIS или Y_AXIS.
Подробное описание методов
getMajorAxis
public int getMajorAxis()
- Возвращает:
- главную ось
getMinorAxis
public int getMinorAxis()
- Возвращает:
- второстепенную ось
getTopInset
public float getTopInset()
- Возвращает:
- верхнюю часть отступа вокруг представления
setTopInset
public void setTopInset(float i)
- Параметры:
-
i— значение внутреннего отступа
getBottomInset
public float getBottomInset()
- Возвращает:
- нижнюю часть отступа вокруг представления
setBottomInset
public void setBottomInset(float i)
- Параметры:
-
i— значение внутреннего отступа
getLeftInset
public float getLeftInset()
- Возвращает:
- левую часть отступа вокруг представления
setLeftInset
public void setLeftInset(float i)
- Параметры:
-
i— значение внутреннего отступа
getRightInset
public float getRightInset()
- Возвращает:
- правую часть отступа вокруг представления
setRightInset
public void setRightInset(float i)
- Параметры:
-
i— значение внутреннего отступа
getInsetSpan
protected float getInsetSpan(int axis)
- Параметры:
-
axis— ось, вдоль которой определяется общая величина внутренних отступов: X_AXIS или Y_AXIS. - Возвращает:
- протяженность внутренних отступов вдоль указанной оси
- Начиная с версии:
- 1.4
setEstimatedMajorSpan
protected void setEstimatedMajorSpan(boolean isEstimated)
- Параметры:
-
isEstimated— новое значение свойства estimatedMajorSpan - Начиная с версии:
- 1.4
getEstimatedMajorSpan
protected boolean getEstimatedMajorSpan()
- Возвращает:
- признак того, является ли протяженность вдоль главной оси в данный момент оценочной
- Начиная с версии:
- 1.4
getChildState
protected AsyncBoxView.ChildState getChildState(int index)
- Параметры:
-
index— индекс дочернего элемента. Значение должно быть >= 0 и < getViewCount(). - Возвращает:
- объект, представляющий состояние компоновки дочернего элемента с указанным индексом
getLayoutQueue
protected LayoutQueue getLayoutQueue()
- Возвращает:
- очередь для выполнения компоновки
createChildState
protected AsyncBoxView.ChildState createChildState(View v)
- Параметры:
-
v— представление - Возвращает:
- новое состояние дочернего элемента
majorRequirementChange
protected void majorRequirementChange(AsyncBoxView.ChildState cs, float delta)
Реализация помечает главную ось как изменившуюся, чтобы при последующей проверке необходимости передачи требований родительскому представлению учитывалась главная ось. Если протяженность вдоль главной оси не является оценочной, она обновляется на указанную величину изменения, отражая инкрементальное изменение. Если протяженность главной оси является оценочной, величина изменения игнорируется.
- Параметры:
-
cs— состояние дочернего элемента -
delta— величина изменения
minorRequirementChange
protected void minorRequirementChange(AsyncBoxView.ChildState cs)
- Параметры:
-
cs— состояние дочернего элемента
flushRequirementChanges
protected void flushRequirementChanges()
replace
public void replace(int offset, int length, View[] views)
loadChildren
protected void loadChildren(ViewFactory f)
setParent. Подклассы могут переопределить его, чтобы инициализировать дочерние представления другим способом. Реализация по умолчанию создает дочернее представление для каждого дочернего элемента. Обычно во время изменения дочерних элементов документ заблокирован для записи, что обеспечивает безопасность потоков отрисовки и компоновки. Исключение составляет инициализация представления для существующего элемента (с помощью этого метода): в этом случае для исключения вызова preferenceChanged во время инициализации используется синхронизация.
- Параметры:
-
f— фабрика представлений - См. также:
getViewIndexAtPosition
protected int getViewIndexAtPosition(int pos, Position.Bias b)
- Параметры:
-
pos— позиция, >= 0 -
b— смещение позиции - Возвращает:
- индекс представления, соответствующего указанной позиции, или -1, если ни одно представление ей не соответствует
updateLayout
protected void updateLayout(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a)
- Переопределяет:
-
updateLayoutв классеView - Параметры:
-
ec— изменения элемента, за который отвечает это представление (может быть null, если изменений не было). -
e— сведения об изменении связанного документа -
a— текущая область, выделенная для представления - См. также:
setParent
public void setParent(View parent)
loadChildren, если у данного представления еще нет дочерних элементов. Дочерние элементы не следует загружать в конструкторе, поскольку при задании родительского представления они могут попытаться выполнить поиск выше по иерархии (например, чтобы получить содержащий их Container). Если у этого представления есть дочерние элементы (то есть представление перемещается из одной части иерархии представлений в другую), метод loadChildren вызван не будет.preferenceChanged
public void preferenceChanged(View child, boolean width, boolean height)
- Переопределяет:
-
preferenceChangedв классеView - Параметры:
-
child— дочернее представление -
width— true, если изменилось предпочтение ширины -
height— true, если изменилось предпочтение высоты - См. также:
setSize
public void setSize(float width, float height)
Поскольку главная ось обновляется асинхронно и должна равняться сумме размеров дочерних элементов, разбитых на фрагменты, вызов для главной оси игнорируется. Второстепенная ось является гибкой, поэтому при изменении ее протяженности в очередь помещается задача изменения размера дочерних элементов.
paint
public void paint(Graphics g, Shape alloc)
Реализация определяет, актуальны ли данные для требуемой области отрисовки (то есть для области без отсечения). Если данные актуальны, отрисовываются дочерние элементы. В противном случае задача построения требуемой области помещается в очередь компоновки с высоким приоритетом. Это позволяет потоку обработки событий продолжать работу, отрисовывая область, если она готова, и откладывая отрисовку на более позднее время, если она не готова (поскольку запросы на отрисовку можно запланировать повторно).
getPreferredSpan
public float getPreferredSpan(int axis)
- Определено в:
-
getPreferredSpanв классеView - Параметры:
-
axis— может быть View.X_AXIS или View.Y_AXIS - Возвращает:
- протяженность, в пределах которой представление предпочитает отрисовываться, >= 0. Обычно представлению выделяется возвращаемая протяженность, однако это не гарантируется. Родительское представление может изменить размер или разбить это представление.
- Выбрасывает:
-
IllegalArgumentException— если указан недопустимый тип оси
getMinimumSpan
public float getMinimumSpan(int axis)
- Переопределяет:
-
getMinimumSpanв классеView - Параметры:
-
axis— может быть View.X_AXIS или View.Y_AXIS - Возвращает:
- протяженность, в пределах которой представление предпочитает отрисовываться, >= 0. Обычно представлению выделяется возвращаемая протяженность, однако это не гарантируется. Родительское представление может изменить размер или разбить это представление.
- Выбрасывает:
-
IllegalArgumentException— если указан недопустимый тип оси - См. также:
getMaximumSpan
public float getMaximumSpan(int axis)
- Переопределяет:
-
getMaximumSpanв классеView - Параметры:
-
axis— может быть View.X_AXIS или View.Y_AXIS - Возвращает:
- протяженность, в пределах которой представление предпочитает отрисовываться, >= 0. Обычно представлению выделяется возвращаемая протяженность, однако это не гарантируется. Родительское представление может изменить размер или разбить это представление.
- Выбрасывает:
-
IllegalArgumentException— если указан недопустимый тип оси - См. также:
getViewCount
public int getViewCount()
- Переопределяет:
-
getViewCountв классеView - Возвращает:
- количество представлений, >= 0
- См. также:
getView
getChildAllocation
public Shape getChildAllocation(int index, Shape a)
- Переопределяет:
-
getChildAllocationв классеView - Параметры:
-
index— индекс дочернего элемента, >= 0 && < getViewCount() -
a— область, выделенная этому представлению. - Возвращает:
- область, выделенную дочернему элементу
getViewIndex
public int getViewIndex(int pos, Position.Bias b)
- Переопределяет:
-
getViewIndexв классеView - Параметры:
-
pos— позиция, >= 0 -
b— смещение - Возвращает:
- индекс представления, соответствующего указанной позиции, или -1, если ни одно представление ей не соответствует
- Начиная с версии:
- 1.3
modelToView
public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
- Определено в:
-
modelToViewв классеView - Параметры:
-
pos— преобразуемая позиция, >= 0 -
a— выделенная область для отрисовки -
b— смещение в сторону предыдущего или следующего символа, представленного этим смещением, если позиция находится на границе двух представлений. - Возвращает:
- ограничивающий прямоугольник указанной позиции
- Выбрасывает:
-
BadLocationException— если указанная позиция не соответствует допустимому месту в связанном документе -
IllegalArgumentException— если указан недопустимый аргумент смещения - См. также:
viewToModel
public int viewToModel(float x, float y, Shape a, Position.Bias[] biasReturn)
Предполагается, что этот метод вызывается потоком графического интерфейса при удержании блокировки чтения связанной модели. Реализация находит дочернее представление и определяет выделенную ему область, блокируя объект ChildLocator, а затем вызывает viewToModel дочернего представления, блокируя объект ChildState, чтобы избежать взаимодействия с потоком компоновки.
- Определено в:
-
viewToModelв классеView - Параметры:
-
x— координата X, >= 0 -
y— координата Y, >= 0 -
a— выделенная область для отрисовки -
biasReturn— возвращаемое смещение - Возвращает:
- позицию в модели, наиболее точно соответствующую указанной точке в представлении, >= 0. Аргумент biasReturn заполняется, чтобы указать, ближе ли заданная точка к следующему или предыдущему символу модели.
getNextVisualPositionFrom
public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException
BadLocationException.- Переопределяет:
-
getNextVisualPositionFromв классеView - Параметры:
-
pos— преобразуемая позиция -
b— смещение -
a— выделенная область для отрисовки -
direction— направление от текущей позиции, соответствующее обычно клавишам со стрелками на клавиатуре; может принимать одно из следующих значений:SwingConstants.WESTSwingConstants.EASTSwingConstants.NORTHSwingConstants.SOUTH
-
biasRet— массив, содержащий проверенное смещение - Возвращает:
- позицию в модели, наиболее точно соответствующую следующей визуальной позиции
- Выбрасывает:
-
BadLocationException— если указанная позиция недопустима в документе -
IllegalArgumentException— еслиdirectionнедопустим
© 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.