Класс ZoneView
- Все реализованные интерфейсы:
SwingConstants
public class ZoneView extends BoxView
ZoneView расширяет BoxView, предоставляя контейнер, реализующий зоны для своих дочерних элементов. Зоны — это специальные реализации View (дочерние элементы экземпляра этого класса), представляющие только часть модели, за которую отвечает экземпляр ZoneView. Зоны не создают дочерние представления до тех пор, пока не предпринимается попытка их отобразить. Представление в форме контейнера хорошо подходит для этого, поскольку:
- Контейнеры широко используются в представлениях, и наличие контейнера с таким поведением дает широкие возможности подключить это поведение к иерархии представлений с помощью фабрики представлений.
- Элементы контейнера располагаются плиткой в одном направлении, поэтому их легко надежно разделить на зоны.
- Контейнеры обычно имеют простую связь с моделью (то есть создают дочерние представления, непосредственно представляющие дочерние элементы).
- Размер контейнеров легче оценить, чем размер некоторых других фигур.
Поведение по умолчанию задается двумя свойствами: maxZoneSize и maxZonesLoaded. Установка maxZoneSize в Integer.MAX_VALUE приведет к созданию только одной зоны. Это фактически превратит представление в реализацию шаблона «Декоратор». Установка maxZonesLoaded в Integer.MAX_VALUE приведет к тому, что зоны никогда не будут выгружаться. Для простоты зоны создаются на границах, соответствующих дочерним элементам элемента, за который отвечает представление. Зоны могут быть любой реализацией View, но реализация по умолчанию основана на AsyncBoxView, эффективно поддерживающем достаточно большие зоны.
- Начиная с:
- 1.3
- См. также:
Краткое описание полей
Поля, объявленные в классе 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 |
Направление по компасу: запад (влево). |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ZoneView |
Создает ZoneView. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected View |
createZone |
Создает представление для зоны, соответствующей заданному диапазону в модели (который должен находиться в пределах ответственности этого объекта). |
int |
getMaximumZoneSize() |
Возвращает текущее максимальное значение размера зоны. |
int |
getMaxZonesLoaded() |
Возвращает текущее значение количества зон, которые можно загружать одновременно. |
protected int |
getViewIndexAtPosition |
Возвращает индекс дочернего представления, соответствующего заданной позиции в модели. |
void |
insertUpdate |
Уведомляет о том, что в документ в области ответственности этого представления был вставлен элемент. |
protected boolean |
isZoneLoaded |
Определяет, загружена ли зона. |
protected void |
loadChildren |
Загружает все дочерние элементы для инициализации представления. |
void |
removeUpdate |
Уведомляет о том, что из документа в области ответственности этого представления был удален элемент. |
void |
setMaximumZoneSize |
Задает желаемый максимальный размер зоны. |
void |
setMaxZonesLoaded |
Задает текущее значение количества зон, которые можно загружать одновременно. |
protected void |
unloadZone |
Выгружает зону (переводит зону в состояние, позволяющее экономить память). |
protected boolean |
updateChildren |
Поведение суперкласса пытается обновить дочерние представления, что в данном случае нежелательно, поскольку дочерние элементы являются зонами и изменения связанного элемента не оказывают на них непосредственного влияния. |
protected void |
zoneWasLoaded |
Вызывается зоной при ее загрузке. |
Методы, объявленные в классе BoxView
baselineLayout, baselineRequirements, calculateMajorAxisRequirements, calculateMinorAxisRequirements, childAllocation, flipEastAndWestAtEnds, forwardUpdate, getAlignment, getAxis, getChildAllocation, getHeight, getMaximumSpan, getMinimumSpan, getOffset, getPreferredSpan, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, isLayoutValid, layout, layoutChanged, layoutMajorAxis, layoutMinorAxis, modelToView, paint, paintChild, preferenceChanged, replace, setAxis, setSize, viewToModel | Модификатор и тип | Метод | Описание |
|---|---|---|
protected void |
baselineLayout |
Вычисляет положение и размер каждого дочернего представления в этом BoxView с учетом targetSpan, то есть ширины (или высоты) доступной для работы области. |
protected SizeRequirements |
baselineRequirements |
Вычисляет требования к размеру этого BoxView, анализируя размеры каждого дочернего представления. |
protected SizeRequirements |
calculateMajorAxisRequirements |
Вычисляет требования к размеру по главной оси axis. |
protected SizeRequirements |
calculateMinorAxisRequirements |
Вычисляет требования к размеру по второстепенной оси axis. |
protected void |
childAllocation |
Выделяет область для дочернего представления. |
protected boolean |
flipEastAndWestAtEnds |
Определяет направление расположения следующего представления. |
protected void |
forwardUpdate |
Передает заданное DocumentEvent дочерним представлениям, которые необходимо уведомить об изменении модели. |
float |
getAlignment |
Определяет желаемое выравнивание этого представления вдоль оси. |
int |
getAxis() |
Возвращает свойство оси размещения элементов плиткой. |
Shape |
getChildAllocation |
Возвращает выделенную область для заданного дочернего представления. |
int |
getHeight() |
Возвращает текущую высоту контейнера. |
float |
getMaximumSpan |
Определяет максимальный размер этого представления вдоль оси. |
float |
getMinimumSpan |
Определяет минимальный размер этого представления вдоль оси. |
protected int |
getOffset |
Возвращает смещение текущего макета заданного дочернего элемента. |
float |
getPreferredSpan |
Определяет предпочтительный размер этого представления вдоль оси. |
int |
getResizeWeight |
Возвращает вес изменения размера. |
protected int |
getSpan |
Возвращает размер текущего макета заданного дочернего элемента. |
protected View |
getViewAtPoint |
Возвращает дочернее представление по заданным координатам. |
int |
getWidth() |
Возвращает текущую ширину контейнера. |
protected boolean |
isAfter |
Определяет, находится ли точка за выделенной областью. |
protected boolean |
isAllocationValid() |
Остаются ли выделенные области дочерних элементов действительными? |
protected boolean |
isBefore |
Определяет, находится ли точка перед выделенной областью. |
protected boolean |
isLayoutValid |
Определяет, действителен ли макет вдоль заданной оси. |
protected void |
layout |
Выполняет компоновку контейнера |
void |
layoutChanged |
Объявляет макет недействительным вдоль оси. |
protected void |
layoutMajorAxis |
Выполняет компоновку контейнера по главной оси (то есть по оси, которую он представляет). |
protected void |
layoutMinorAxis |
Выполняет компоновку контейнера по второстепенной оси (то есть по оси, перпендикулярной представляемой им оси). |
Shape |
modelToView |
Обеспечивает отображение координатного пространства модели документа в координатное пространство соответствующего ей представления. |
void |
paint |
Отображает BoxView с использованием заданной поверхности и области на этой поверхности. |
protected void |
paintChild |
Рисует дочерний элемент. |
void |
preferenceChanged |
Вызывается дочерним элементом, чтобы сообщить об изменении его предпочтительного размера. |
void |
replace |
Объявляет макет недействительным и изменяет размер кэша запросов/выделенных областей. |
void |
setAxis |
Задает свойство оси размещения элементов плиткой. |
void |
setSize |
Задает размер представления. |
int |
viewToModel |
Обеспечивает отображение координатного пространства представления в логическое координатное пространство модели. |
Методы, объявленные в классе CompositeView
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, modelToView, setInsets, setParagraphInsets, setParent | Модификатор и тип | Метод | Описание |
|---|---|---|
protected short |
getBottomInset() |
Возвращает нижний внутренний отступ. |
protected Rectangle |
getInsideAllocation |
Преобразует неизменяемую выделенную область, переданную представлению, в изменяемую область, представляющую внутреннюю часть (то есть границы заданной области без верхнего, левого, нижнего и правого внутренних отступов). |
protected short |
getLeftInset() |
Возвращает левый внутренний отступ. |
protected int |
getNextEastWestVisualPositionFrom |
Возвращает следующую визуальную позицию курсора в направлении на восток или запад. |
protected int |
getNextNorthSouthVisualPositionFrom |
Возвращает следующую визуальную позицию курсора в направлении на север или юг. |
int |
getNextVisualPositionFrom |
Позволяет определить следующую визуально представленную позицию модели, в которой можно разместить курсор. |
protected short |
getRightInset() |
Возвращает правый внутренний отступ. |
protected short |
getTopInset() |
Возвращает верхний внутренний отступ. |
View |
getView |
Возвращает n-е представление в этом контейнере. |
protected View |
getViewAtPosition |
Возвращает дочернее представление, соответствующее заданной позиции в модели. |
int |
getViewCount() |
Возвращает количество дочерних представлений этого представления. |
int |
getViewIndex |
Возвращает индекс дочернего представления, соответствующего заданной позиции в модели. |
Shape |
modelToView |
Обеспечивает отображение координатного пространства модели документа в координатное пространство соответствующего ей представления. |
protected void |
setInsets |
Задает внутренние отступы представления. |
protected void |
setParagraphInsets |
Задает внутренние отступы на основе атрибутов абзаца, указанных в заданных атрибутах. |
void |
setParent |
Задает родительское представление. |
Методы, объявленные в классе View
append, breakView, changedUpdate, createFragment, forwardUpdateToView, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getStartOffset, getToolTipText, getViewFactory, getViewIndex, insert, isVisible, modelToView, remove, removeAll, updateLayout, viewToModel | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
append |
Добавляет одно дочернее представление. |
View |
breakView |
Пытается разбить это представление по заданной оси. |
void |
changedUpdate |
Получает от документа уведомление об изменении атрибутов в области ответственности этого представления. |
View |
createFragment |
Создает представление, соответствующее части элемента. |
protected void |
forwardUpdateToView |
Передает DocumentEvent заданному дочернему представлению. |
AttributeSet |
getAttributes() |
Возвращает атрибуты, используемые при отображении. |
int |
getBreakWeight |
Определяет, насколько подходящим является место разрыва в этом представлении. |
Container |
getContainer() |
Возвращает контейнер, содержащий представление. |
Document |
getDocument() |
Возвращает модель, связанную с представлением. |
Element |
getElement() |
Возвращает структурную часть объекта, которой соответствует это представление. |
int |
getEndOffset() |
Возвращает часть модели, за которую отвечает это представление. |
Graphics |
getGraphics() |
Возвращает Graphics для отображения. |
View |
getParent() |
Возвращает родительское представление. |
int |
getStartOffset() |
Возвращает часть модели, за которую отвечает это представление. |
String |
getToolTipText |
Возвращает текст всплывающей подсказки в указанном месте. |
ViewFactory |
getViewFactory() |
Возвращает реализацию ViewFactory, обеспечивающую работу иерархии представлений. |
int |
getViewIndex |
Возвращает индекс дочернего представления, соответствующего заданной позиции в представлении. |
void |
insert |
Вставляет одно дочернее представление. |
boolean |
isVisible() |
Возвращает логическое значение, указывающее, видно ли представление. |
Shape |
modelToView |
Устарело. |
void |
remove |
Удаляет один из дочерних элементов в заданной позиции. |
void |
removeAll() |
Удаляет все дочерние элементы. |
protected void |
updateLayout |
Обновляет макет в ответ на получение уведомления об изменении модели. |
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 либо по истечении заданного времени. |
Подробное описание конструкторов
ZoneView
public ZoneView(Element elem, int axis)
- Параметры:
-
elem— элемент, за который отвечает это представление -
axis— либо View.X_AXIS, либо View.Y_AXIS
Подробное описание методов
getMaximumZoneSize
public int getMaximumZoneSize()
- Возвращает:
- текущее максимальное количество символов в зоне
setMaximumZoneSize
public void setMaximumZoneSize(int size)
- Параметры:
-
size— количество символов, которое может представлять зона, прежде чем будет предпринята попытка разбить ее на зоны меньшего размера.
getMaxZonesLoaded
public int getMaxZonesLoaded()
- Возвращает:
- текущее значение максимального количества зон, которые могут быть загружены одновременно
setMaxZonesLoaded
public void setMaxZonesLoaded(int mzl)
IllegalArgumentException, если mzl меньше 1.- Параметры:
-
mzl— требуемое максимальное количество активно загруженных зон; должно быть больше 0 - Выбрасывает:
-
IllegalArgumentException— еслиmzl< 1
zoneWasLoaded
protected void zoneWasLoaded(View zone)
- Параметры:
-
zone— только что загруженное дочернее представление.
unloadZone
protected void unloadZone(View zone)
- Параметры:
-
zone— дочернее представление, которое требуется перевести в выгруженное состояние.
isZoneLoaded
protected boolean isZoneLoaded(View zone)
- Параметры:
-
zone— зона - Возвращает:
- находится ли зона в загруженном состоянии.
createZone
protected View createZone(int p0, int p1)
- Параметры:
-
p0— начало требуемой зоны. Должно быть >= getStartOffset() и < getEndOffset(). Это значение также должно быть < p1. -
p1— конец требуемой зоны. Должен быть > getStartOffset() и <= getEndOffset(). Это значение также должно быть > p0. - Возвращает:
- представление зоны, соответствующей указанному диапазону модели
loadChildren
protected void loadChildren(ViewFactory f)
setParent. Метод переопределен так, чтобы не загружать дочерние представления напрямую (так как они создаются зонами). Этот метод создает начальный набор зон. Однако зоны фактически заполняются только при попытке отобразить их или выполнить преобразование координат модели и представления.- Переопределяет:
-
loadChildrenв классеCompositeView - Параметры:
-
f— фабрика представлений - См. также:
getViewIndexAtPosition
protected int getViewIndexAtPosition(int pos)
- Переопределяет:
-
getViewIndexAtPositionв классеCompositeView - Параметры:
-
pos— позиция >= 0 - Возвращает:
- индекс представления, соответствующего указанной позиции, или -1, если ни одно представление этой позиции не соответствует
updateChildren
protected boolean updateChildren(DocumentEvent.ElementChange ec, DocumentEvent e, ViewFactory f)
- Переопределяет:
-
updateChildrenв классеView - Параметры:
-
ec— сведения об изменении элемента, за который отвечает это представление. При вызове этого метода значение не должно бытьnull -
e— сведения об изменении связанного документа -
f— фабрика для создания дочерних представлений - Возвращает:
- соответствуют ли дочерние представления дочерним элементам элемента, за который отвечает это представление. Некоторые представления создают дочерние представления, соответствующие части элемента, за который они отвечают, и должны возвращать false. Эта информация используется для определения того, следует ли передавать представлениям диапазона добавленных элементов уведомления об изменениях
- См. также:
insertUpdate
public void insertUpdate(DocumentEvent changes, Shape a, ViewFactory f)
- Переопределяет:
-
insertUpdateв классеView - Параметры:
-
changes— сведения об изменении связанного документа -
a— текущее выделение области представления -
f— фабрика для повторного создания представления, если у него есть дочерние элементы - См. также:
removeUpdate
public void removeUpdate(DocumentEvent changes, Shape a, ViewFactory f)
- Переопределяет:
-
removeUpdateв классеView - Параметры:
-
changes— сведения об изменении связанного документа -
a— текущее выделение области представления -
f— фабрика для повторного создания представления, если у него есть дочерние элементы - См. также:
© 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.