Класс CompositeView
- Все реализуемые интерфейсы:
SwingConstants
- Прямые известные подклассы:
BoxView
public abstract class CompositeView extends View
CompositeView — это абстрактная реализация View, которая управляет одним или несколькими дочерними представлениями. (Обратите внимание, что CompositeView предназначен для управления относительно небольшим количеством дочерних представлений.) CompositeView предназначен для использования в качестве отправной точки для реализаций View, таких как BoxView, содержащих дочерние Views. Подклассам, которым необходимо управлять коллекцией дочерних Views, следует использовать метод replace(int, int, View[]). Поскольку View вызывает replace при уведомлении DocumentListener, обычно нет необходимости вызывать replace напрямую. Хотя CompositeView не задаёт политику размещения дочерних Views, он позволяет задавать отступы для дочерних Views, которые он содержит. Отступы можно задать с помощью метода setInsets(short, short, short, short) или setParagraphInsets(AttributeSet).
Помимо абстрактных методов View, подклассам CompositeView необходимо переопределить следующие методы:
-
isBefore(int, int, Rectangle)— используется для проверки, находится ли заданная позицияViewперед визуальной областьюCompositeView. -
isAfter(int, int, Rectangle)— используется для проверки, находится ли заданная позицияViewпосле визуальной областиCompositeView. -
getViewAtPoint(int, int, Rectangle)— возвращает представление в заданной визуальной позиции. -
childAllocation(int, Rectangle)— возвращает границы конкретного дочернего представленияView.getChildAllocationвызываетchildAllocationпосле смещения границ на величинуInsets объектаCompositeView.
Краткое описание полей
Поля, объявленные в классе 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 |
Направление по компасу: запад (влево). |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
CompositeView |
Создаёт CompositeView для заданного элемента. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected abstract void |
childAllocation |
Возвращает выделенную область для заданнего дочернего элемента. |
protected boolean |
flipEastAndWestAtEnds |
Определяет направление размещения следующего представления. |
protected short |
getBottomInset() |
Возвращает нижний отступ. |
Shape |
getChildAllocation |
Получает выделенную область для отображения указанного дочернего представления. |
protected Rectangle |
getInsideAllocation |
Преобразует неизменяемую выделенную область, переданную представлению, в изменяемую выделенную область, которая описывает внутреннюю область (то есть границы заданной области за вычетом верхнего, левого, нижнего и правого отступов). |
protected short |
getLeftInset() |
Возвращает левый отступ. |
protected int |
getNextEastWestVisualPositionFrom |
Возвращает следующую визуальную позицию курсора в восточном или западном направлении. |
protected int |
getNextNorthSouthVisualPositionFrom |
Возвращает следующую визуальную позицию курсора в северном или южном направлении. |
int |
getNextVisualPositionFrom |
Позволяет определить следующее визуально представленное расположение в модели, в котором можно поместить курсор. |
protected short |
getRightInset() |
Возвращает правый отступ. |
protected short |
getTopInset() |
Возвращает верхний отступ. |
View |
getView |
Возвращает n-е представление в этом контейнере. |
protected abstract View |
getViewAtPoint |
Получает дочернее представление по заданным координатам. |
protected View |
getViewAtPosition |
Получает дочернее представление, соответствующее заданной позиции в модели. |
int |
getViewCount() |
Возвращает количество дочерних представлений этого представления. |
int |
getViewIndex |
Возвращает индекс дочернего представления, соответствующего заданной позиции в модели. |
protected int |
getViewIndexAtPosition |
Получает индекс дочернего представления, соответствующего заданной позиции в модели. |
protected abstract boolean |
isAfter |
Проверяет, находится ли точка за пределами диапазона прямоугольника. |
protected abstract boolean |
isBefore |
Проверяет, находится ли точка перед диапазоном прямоугольника. |
protected void |
loadChildren |
Загружает все дочерние элементы для инициализации представления. |
Shape |
modelToView |
Обеспечивает отображение координатного пространства модели документа в координатное пространство сопоставленного ему представления. |
Shape |
modelToView |
Обеспечивает отображение координатного пространства модели документа в координатное пространство сопоставленного ему представления. |
void |
replace |
Заменяет дочерние представления. |
protected void |
setInsets |
Задает отступы для представления. |
protected void |
setParagraphInsets |
Задает отступы из атрибутов абзаца, указанных в заданных атрибутах. |
void |
setParent |
Задает родительское представление. |
int |
viewToModel |
Обеспечивает отображение координатного пространства представления в логическое координатное пространство модели. |
Методы, объявленные в классе View
append, breakView, changedUpdate, createFragment, forwardUpdate, forwardUpdateToView, getAlignment, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getMaximumSpan, getMinimumSpan, getParent, getPreferredSpan, getResizeWeight, getStartOffset, getToolTipText, getViewFactory, getViewIndex, insert, insertUpdate, isVisible, modelToView, paint, preferenceChanged, remove, removeAll, removeUpdate, setSize, updateChildren, updateLayout, 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 для отрисовки. |
float |
getMaximumSpan |
Определяет максимальную протяженность этого представления вдоль оси. |
float |
getMinimumSpan |
Определяет минимальную протяженность этого представления вдоль оси. |
View |
getParent() |
Возвращает родительское представление. |
abstract float |
getPreferredSpan |
Определяет предпочтительную протяженность этого представления вдоль оси. |
int |
getResizeWeight |
Определяет возможность изменения размера представления вдоль заданной оси. |
int |
getStartOffset() |
Получает часть модели, за которую отвечает это представление. |
String |
getToolTipText |
Возвращает текст всплывающей подсказки в указанном месте. |
ViewFactory |
getViewFactory() |
Получает реализацию ViewFactory, обеспечивающую иерархию представлений. |
int |
getViewIndex |
Возвращает индекс дочернего представления, соответствующего заданной позиции в представлении. |
void |
insert |
Вставляет одно дочернее представление. |
void |
insertUpdate |
Уведомляет о вставке данных в документ в области, за которую отвечает это представление. |
boolean |
isVisible() |
Возвращает логическое значение, указывающее, отображается ли представление. |
Shape |
modelToView |
Устарело. |
abstract void |
paint |
Выполняет отрисовку с использованием заданной поверхности и области на этой поверхности. |
void |
preferenceChanged |
Дочерние представления могут вызвать этот метод у родительского, чтобы сообщить об изменении предпочтения и необходимости пересмотреть компоновку. |
void |
remove |
Удаляет одного из дочерних элементов в заданной позиции. |
void |
removeAll() |
Удаляет все дочерние элементы. |
void |
removeUpdate |
Уведомляет об удалении данных из документа в области, за которую отвечает это представление. |
void |
setSize |
Задает размер представления. |
protected boolean |
updateChildren |
Обновляет дочерние представления в ответ на уведомление об изменении модели, если запись об изменении затрагивает элемент, за который отвечает это представление. |
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() |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
CompositeView
public CompositeView(Element elem)
CompositeView для заданного элемента.- Параметры:
-
elem— элемент, за который отвечает это представление
Подробное описание методов
loadChildren
protected void loadChildren(ViewFactory f)
setParent(View). Подклассы могут переопределить его, чтобы инициализировать дочерние представления иным способом. Реализация по умолчанию создает дочернее представление для каждого дочернего элемента.- Параметры:
-
f— фабрика представлений - См. также:
setParent
public void setParent(View parent)
loadChildren, если у этого представления еще нет дочерних представлений. Не следует загружать дочерние представления в конструкторе, поскольку установка родительского представления может привести к тому, что они попытаются искать выше по иерархии (например, чтобы получить содержащий Container). Если у этого представления есть дочерние представления (то есть представление перемещается из одного места иерархии представлений в другое), метод loadChildren вызван не будет.getViewCount
public int getViewCount()
- Переопределяет:
-
getViewCountв классеView - Возвращает:
- количество представлений >= 0
- См. также:
getView
replace
public void replace(int offset, int length, View[] views)
null, а внутренняя ссылка на них будет удалена, чтобы их можно было собрать сборщиком мусора.- Переопределяет:
-
replaceв классеView - Параметры:
-
offset— начальный индекс среди дочерних представлений, куда нужно вставить новые представления; >= 0 и <= getViewCount -
length— количество существующих дочерних представлений для удаления; значение должно быть >= 0 и <= (getViewCount() - offset) -
views— добавляемые дочерние представления; значение может бытьnull, чтобы указать, что дочерние представления не добавляются (полезно при удалении)
getChildAllocation
public Shape getChildAllocation(int index, Shape a)
- Переопределяет:
-
getChildAllocationв классеView - Параметры:
-
index— индекс дочернего представления, >= 0 && < getViewCount() -
a— область размещения для этого представления - Возвращает:
- область размещения дочернего представления
modelToView
public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
- Определено в:
-
modelToViewв классеView - Параметры:
-
pos— позиция для преобразования >= 0 -
a— выделенная область для отрисовки -
b— значение смещения:Position.Bias.ForwardилиPosition.Bias.Backward - Возвращает:
- ограничивающий прямоугольник заданной позиции
- Вызывает исключение:
-
BadLocationException— если заданная позиция не соответствует допустимому местоположению в связанном документе - См. также:
modelToView
public Shape modelToView(int p0, Position.Bias b0, int p1, Position.Bias b1, Shape a) throws BadLocationException
- Переопределяет:
-
modelToViewв классеView - Параметры:
-
p0— позиция для преобразования >= 0 -
b0— смещение в сторону предыдущего или следующего символа, представленного p0, если позиция является границей двух представлений; значение должно бытьPosition.Bias.ForwardилиPosition.Bias.Backward -
p1— позиция для преобразования >= 0 -
b1— смещение в сторону предыдущего или следующего символа, представленного p1, если позиция является границей двух представлений -
a— выделенная область для отрисовки - Возвращает:
- ограничивающий прямоугольник заданной позиции
- Вызывает исключение:
-
BadLocationException— если заданная позиция не соответствует допустимому местоположению в связанном документе -
IllegalArgumentException— если аргумент смещения недопустим - См. также:
viewToModel
public int viewToModel(float x, float y, Shape a, Position.Bias[] bias)
- Определено в:
-
viewToModelв классеView - Параметры:
-
x— координата x точки представления для преобразования >= 0 -
y— координата y точки представления для преобразования >= 0 -
a— выделенная область для отрисовки -
bias—Position.Bias.ForwardилиPosition.Bias.Backward - Возвращает:
- местоположение в модели, которое лучше всего соответствует заданной точке представления >= 0
- См. также:
getNextVisualPositionFrom
public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException
getNextNorthSouthVisualPositionFrom(int, Position.Bias, Shape, int, Position.Bias[]) и getNextEastWestVisualPositionFrom(int, Position.Bias, Shape, int, Position.Bias[]). Этот метод позволяет задать позицию для преобразования в диапазоне >=0. Если значение равно -1, позиция будет вычислена автоматически. Если значение < -1, будет выброшено BadLocationException.- Переопределяет:
-
getNextVisualPositionFromв классеView - Параметры:
-
pos— позиция для преобразования -
b— значение смещения:Position.Bias.ForwardилиPosition.Bias.Backward -
a— выделенная область для отрисовки -
direction— направление от текущей позиции, соответствующее клавишам со стрелками на клавиатуре; может иметь одно из следующих значений:-
SwingConstants.WEST -
SwingConstants.EAST -
SwingConstants.NORTH -
SwingConstants.SOUTH
-
-
biasRet— массив, содержащий проверенное значение смещения - Возвращает:
- местоположение в модели, которое лучше всего соответствует следующей визуальной позиции
- Вызывает исключение:
-
BadLocationException— заданная позиция не является допустимой позицией в документе -
IllegalArgumentException— еслиdirectionнедопустим
getViewIndex
public int getViewIndex(int pos, Position.Bias b)
getViewIndexByPosition.- Переопределяет:
-
getViewIndexв классеView - Параметры:
-
pos— позиция >= 0 -
b— смещение - Возвращает:
- индекс представления, соответствующего заданной позиции, или -1, если ни одно представление ей не соответствует
- Добавлено:
- 1.3
isBefore
protected abstract boolean isBefore(int x, int y, Rectangle alloc)
- Параметры:
-
x— координата X >= 0 -
y— координата Y >= 0 -
alloc— прямоугольник - Возвращает:
- true, если точка находится перед заданной областью
isAfter
protected abstract boolean isAfter(int x, int y, Rectangle alloc)
- Параметры:
-
x— координата X >= 0 -
y— координата Y >= 0 -
alloc— прямоугольник - Возвращает:
- true, если точка находится после заданной области
getViewAtPoint
protected abstract View getViewAtPoint(int x, int y, Rectangle alloc)
- Параметры:
-
x— координата X >= 0 -
y— координата Y >= 0 -
alloc— область размещения родительского представления на входе; при выходе она должна содержать область размещения дочернего представления - Возвращает:
- дочернее представление
childAllocation
protected abstract void childAllocation(int index, Rectangle a)
- Параметры:
-
index— индекс дочернего представления, >= 0 && < getViewCount() -
a— область внутренней части прямоугольника на входе; при выходе — область размещения дочернего представления с заданным индексом.
getViewAtPosition
protected View getViewAtPosition(int pos, Rectangle a)
- Параметры:
-
pos— позиция >= 0 -
a— область внутренней части прямоугольника на входе; при выходе — область размещения представления, содержащего позицию - Возвращает:
- представление, соответствующее заданной позиции, или
null, если такого представления нет
getViewIndexAtPosition
protected int getViewIndexAtPosition(int pos)
- Параметры:
-
pos— позиция >= 0 - Возвращает:
- индекс представления, соответствующего заданной позиции, или -1, если ни одно представление ей не соответствует
getInsideAllocation
protected Rectangle getInsideAllocation(Shape a)
childAllocation.- Параметры:
-
a— область размещения, переданная представлению - Возвращает:
- область размещения, представляющую внутреннюю область представления после удаления всех отступов; если заданная область размещения была
null, возвращаемое значение равноnull
setParagraphInsets
protected void setParagraphInsets(AttributeSet attr)
- Параметры:
-
attr— атрибуты
setInsets
protected void setInsets(short top, short left, short bottom, short right)
- Параметры:
-
top— верхний отступ >= 0 -
left— левый отступ >= 0 -
bottom— нижний отступ >= 0 -
right— правый отступ >= 0
getLeftInset
protected short getLeftInset()
- Возвращает:
- отступ >= 0
getRightInset
protected short getRightInset()
- Возвращает:
- отступ >= 0
getTopInset
protected short getTopInset()
- Возвращает:
- отступ >= 0
getBottomInset
protected short getBottomInset()
- Возвращает:
- отступ >= 0
getNextNorthSouthVisualPositionFrom
protected int getNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException
- Параметры:
-
pos— позиция для преобразования >= 0 -
b— значение смещения:Position.Bias.ForwardилиPosition.Bias.Backward -
a— выделенная область для отрисовки -
direction— направление от текущей позиции, соответствующее клавишам со стрелками на клавиатуре; может принимать одно из следующих значений:-
SwingConstants.NORTH -
SwingConstants.SOUTH
-
-
biasRet— массив, содержащий проверенное смещение - Возвращает:
- позиция в модели, которая лучше всего соответствует следующей позиции на север или юг
- Выбрасывает:
-
BadLocationException— если указана некорректная позиция в модели документа -
IllegalArgumentException— еслиdirectionимеет недопустимое значение - См. также:
getNextEastWestVisualPositionFrom
protected int getNextEastWestVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException
- Параметры:
-
pos— позиция для преобразования >= 0 -
b— значение смещения:Position.Bias.ForwardилиPosition.Bias.Backward -
a— выделенная область для отрисовки -
direction— направление от текущей позиции, соответствующее клавишам со стрелками на клавиатуре; может принимать одно из следующих значений:-
SwingConstants.WEST -
SwingConstants.EAST
-
-
biasRet— массив, содержащий проверенное смещение - Возвращает:
- позиция в модели, которая лучше всего соответствует следующей позиции на запад или восток
- Выбрасывает:
-
BadLocationException— если указана некорректная позиция в модели документа -
IllegalArgumentException— еслиdirectionимеет недопустимое значение - См. также:
flipEastAndWestAtEnds
protected boolean flipEastAndWestAtEnds(int position, Position.Bias bias)
View с индексом n. Обычно View располагаются слева направо, так что View к востоку будет иметь индекс n + 1, а View к западу — индекс n - 1. В некоторых ситуациях, например при двунаправленном тексте, возможно, что View к востоку находится не по индексу n + 1, а по индексу n - 1, или что View к западу находится не по индексу n - 1, а по индексу n + 1. В этом случае метод вернёт true, указывая, что View расположены в порядке убывания. Метод всегда возвращает false. Подклассам следует переопределить этот метод, если View могут располагаться в порядке убывания.
- Параметры:
-
position— позиция в модели -
bias—Position.Bias.ForwardилиPosition.Bias.Backward - Возвращает:
- false
© 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.