Класс 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 не накладывает политику выравнивания на свои дочерние 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, если представление не представляет эту позицию
- C момента:
- 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, 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/CompositeView.html