Класс CompositeView
- Все реализуемые интерфейсы:
SwingConstants
- Прямые известные подклассы:
BoxView
public abstract class CompositeView extends View
CompositeView — это абстрактная реализация View, которая управляет одним или несколькими дочерними представлениями. (Обратите внимание, что CompositeView предназначена для управления относительно небольшим количеством дочерних представлений.) CompositeView предназначена для использования в качестве отправной точки для реализаций View, таких как BoxView, которые будут содержать дочерние View. Подклассы, которые хотят управлять коллекцией дочерних Views, должны использовать метод replace(int, int, javax.swing.text.View[]). Поскольку View вызывает replace во время уведомления DocumentListener, вам обычно не нужно напрямую вызывать replace. Хотя CompositeView не накладывает политику выравнивания на свои дочерние Views, он позволяет вставлять дочерние Views, которые он будет содержать. Отступы могут быть установлены с помощью 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 не будет вызван.- Переопределяет:
-
setParentв классеView - Параметры:
-
parent- родитель вида,nullесли нет
getViewCount
public int getViewCount()
- Переопределяет:
-
getViewCountв классеView - Возвращает:
- число представлений >= 0
- См. также:
getView
public View getView(int n)
- Переопределяет:
-
getViewв классеView - Параметры:
-
n- номер нужного представления, >= 0 && < getViewCount() - Возвращает:
- представление по индексу
n
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, 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 для обеспечения обратной совместимости.- Переопределяет:
-
getViewIndexв классеView - Параметры:
-
pos- позиция >= 0 -
b- смещение - Возвращает:
- индекс представления, представляющего данную позицию, или -1, если представление не представляет эту позицию
- С тех пор:
- 1.3
isBefore
protected abstract boolean isBefore(int x, int y, Rectangle alloc)
- Parameters:
-
x- координата X >= 0 -
y- координата Y >= 0 -
alloc- прямоугольник - Returns:
- true, если точка находится перед указанным диапазоном
isAfter
protected abstract boolean isAfter(int x, int y, Rectangle alloc)
- Parameters:
-
x- координата X >= 0 -
y- координата Y >= 0 -
alloc- прямоугольник - Returns:
- true, если точка находится после указанного диапазона
getViewAtPoint
protected abstract View getViewAtPoint(int x, int y, Rectangle alloc)
- Parameters:
-
x- координата X >= 0 -
y- координата Y >= 0 -
alloc- выделение родительского элемента при входе, которое должно быть изменено на выделение дочернего элемента при выходе - Returns:
- дочерний вид
childAllocation
protected abstract void childAllocation(int index, Rectangle a)
- Parameters:
-
index- индекс дочернего элемента, >= 0 && < getViewCount() -
a- выделение внутренней области прямоугольника при входе и выделение дочернего элемента с указанным индексом при выходе.
getViewAtPosition
protected View getViewAtPosition(int pos, Rectangle a)
- Parameters:
-
pos- позиция >= 0 -
a- выделение внутренней области прямоугольника при входе и выделение вида, содержащего позицию, при выходе. - Returns:
- вид, представляющий данную позицию, или
null, если такого нет
getViewIndexAtPosition
protected int getViewIndexAtPosition(int pos)
- Parameters:
-
pos- позиция >= 0 - Returns:
- индекс вида, представляющего данную позицию, или -1, если такого вида нет
getInsideAllocation
protected Rectangle getInsideAllocation(Shape a)
childAllocation. - Parameters:
-
a- выделение, заданное для вида - Returns:
- выделение, представляющее внутреннюю часть вида после удаления всех отступов; если заданное выделение было
null, возвращаемое значение равноnull
setParagraphInsets
protected void setParagraphInsets(AttributeSet attr)
- Parameters:
-
attr- атрибуты
setInsets
protected void setInsets(short top, short left, short bottom, short right)
- Parameters:
-
top- отступ сверху >= 0 -
left- отступ слева >= 0 -
bottom- отступ снизу >= 0 -
right- отступ справа >= 0
getLeftInset
protected short getLeftInset()
- Returns:
- отступ >= 0
getRightInset
protected short getRightInset()
- Returns:
- отступ >= 0
getTopInset
protected short getTopInset()
- Returns:
- отступ >= 0
getBottomInset
protected short getBottomInset()
- Returns:
- отступ >= 0
getNextNorthSouthVisualPositionFrom
protected int getNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException
- Parameters:
-
pos- позиция для преобразования >= 0 -
b- значение смещенияPosition.Bias.ForwardилиPosition.Bias.Backward -
a- выделенная область для отрисовки -
direction- направление от текущей позиции, которое можно представить как клавиши со стрелками на клавиатуре; это может быть одно из следующих:-
SwingConstants.NORTH -
SwingConstants.SOUTH
-
-
biasRet- массив, содержащий проверенное смещение - Returns:
- местоположение в модели, которое наилучшим образом представляет следующую позицию вверх или вниз
- Throws:
-
BadLocationException- для некорректного местоположения в модели документа -
IllegalArgumentException- еслиdirectionнекорректно - See Also:
getNextEastWestVisualPositionFrom
protected int getNextEastWestVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException
- Parameters:
-
pos- позиция для преобразования >= 0 -
b- значение смещенияPosition.Bias.ForwardилиPosition.Bias.Backward -
a- выделенная область для отрисовки -
direction- направление от текущей позиции, которое можно представить как клавиши со стрелками на клавиатуре; это может быть одно из следующих:-
SwingConstants.WEST -
SwingConstants.EAST
-
-
biasRet- массив, содержащий проверенное смещение - Returns:
- местоположение в модели, которое наилучшим образом представляет следующую позицию запад или восток
- Throws:
-
BadLocationException- для некорректного местоположения в модели документа -
IllegalArgumentException- еслиdirectionнекорректно - See Also:
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 в обратном порядке.
- Parameters:
-
position- позиция в модели -
bias- либоPosition.Bias.Forward, либоPosition.Bias.Backward - Returns:
- false
© 1993, 2023, 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/21/docs/api/java.desktop/javax/swing/text/CompositeView.html