Класс CompositeView
- Все реализуемые интерфейсы:
SwingConstants
- Прямые известные подклассы:
BoxView
public abstract class CompositeView extends View
CompositeView — это абстрактная реализация View, которая управляет одним или несколькими дочерними представлениями. (Обратите внимание, что CompositeView предназначен для управления относительно небольшим количеством дочерних представлений.) CompositeView предназначен для использования в качестве отправной точки для реализаций View, таких как BoxView, которые будут содержать дочерние View. Подклассы, которые хотят управлять коллекцией дочерних View, должны использовать метод replace(int, int, javax.swing.text.View[]). Так как View вызывает replace во время уведомления DocumentListener, вам обычно не нужно вызывать replace напрямую. Хотя CompositeView не накладывает политику макета на свои дочерние View, он позволяет задавать отступы для дочерних View, которые он будет содержать. Отступы можно установить, используя либо setInsets(short, short, short, short), либо setParagraphInsets(javax.swing.text.AttributeSet).
В дополнение к абстрактным методам класса View, подклассы CompositeView должны переопределять:
-
isBefore(int, int, java.awt.Rectangle)— используется для проверки, находится ли заданнаяViewлокация перед визуальным пространствомCompositeView. -
isAfter(int, int, java.awt.Rectangle)— используется для проверки, находится ли заданнаяViewлокация после визуального пространстваCompositeView. -
getViewAtPoint(int, int, java.awt.Rectangle)— возвращает представление в заданной визуальной локации. -
childAllocation(int, java.awt.Rectangle)— возвращает границы конкретного дочернегоView.getChildAllocationвызоветchildAllocationпосле смещения границ на отступыInsetCompositeView.
Краткое описание полей
Поля, объявленные в классе 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
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
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 |
Предоставляет отображение из координатного пространства представления в логическое координатное пространство модели. |
Методы, объявленные в классе javax.swing.text.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(javax.swing.text.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- смещение влево или вправо относительно предыдущего/следующего символа, в случае, если позиция является границей двух представлений; либоPosition.Bias.Forward, либоPosition.Bias.Backward -
p1- позиция для преобразования >= 0 -
b1- смещение влево или вправо относительно предыдущего/следующего символа, в случае, если позиция является границей двух представлений -
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, javax.swing.text.Position.Bias, java.awt.Shape, int, javax.swing.text.Position.Bias[]) и getNextEastWestVisualPositionFrom(int, javax.swing.text.Position.Bias, java.awt.Shape, int, javax.swing.text.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 для обратной совместимости.- Overrides:
-
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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/text/CompositeView.html