Класс 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
- См. также:
Краткое описание полей
Поля, объявленные в классе javax.swing.text.View
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
Поля, объявленные в интерфейсе javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, 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 |
Вызывается зоной при её загрузке. |
Методы, объявленные в классе javax.swing.text.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
Методы, объявленные в классе javax.swing.text.CompositeView
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, modelToView, setInsets, setParagraphInsets, setParent
Методы, объявленные в классе javax.swing.text.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
Подробное описание конструкторов
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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/text/ZoneView.html