Класс CompositeView
- Все реализуемые интерфейсы:
SwingConstants
- Прямые известные подклассы:
BoxView
public abstract class CompositeView extends View
CompositeView — это абстрактная реализация View, управляющая одним или несколькими дочерними представлениями. (Обратите внимание, что CompositeView предназначен для управления сравнительно небольшим количеством дочерних представлений.) CompositeView предназначен для использования в качестве отправной точки для реализаций View, таких как BoxView, которые будут содержать дочерние View. Подклассам, которым необходимо управлять коллекцией дочерних View, следует использовать метод replace(int, int, View[]). Поскольку View вызывает replace при уведомлении DocumentListener, обычно нет необходимости вызывать replace напрямую. Хотя CompositeView не накладывает правила компоновки на дочерние View, оно позволяет задавать отступы для содержащихся в нём дочерних View. Отступы можно задать с помощью метода 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после смещения границ на величину отступовInsetуCompositeView.
Краткое описание полей
Поля, объявленные в классе View
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, 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
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
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
Подробное описание конструкторов
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. Обычно Views располагаются слева направо, так что View к ВОСТОКУ будет иметь индекс n + 1, а View к ЗАПАДУ — индекс n - 1. В некоторых ситуациях, например при двунаправленном тексте, возможно, что View к ВОСТОКУ находится не по индексу n + 1, а по индексу n - 1, или что View к ЗАПАДУ находится не по индексу n - 1, а по индексу n + 1. В этом случае данный метод вернёт true, указывая, что Views расположены в порядке убывания. Этот метод всегда возвращает false; подклассам следует переопределить его, если возможно расположение Views в порядке убывания.
- Параметры:
-
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/text/CompositeView.html