Класс 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, 2021, 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/17/docs/api/java.desktop/javax/swing/text/ZoneView.html