Класс CompositeView
- java.lang.Object
-
- javax.swing.text.View
-
- javax.swing.text.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(Element elem) | Создает |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected abstract void | childAllocation(int index,
Rectangle a) | Возвращает выделение для заданного дочернего элемента. |
protected boolean | flipEastAndWestAtEnds(int position,
Position.Bias bias) | Определяет, в каком направлении расположено следующее представление. |
protected short | getBottomInset() | Получает нижний отступ. |
Shape | getChildAllocation(int index,
Shape a) | Получает выделение для заданного дочернего представления для отрисовки. |
protected Rectangle | getInsideAllocation(Shape a) | Преобразует неизменяемое выделение, предоставленное представлению, в изменяемое выделение, представляющее внутреннее выделение (т. е. границы заданного выделения с удаленными верхним, левым, нижним и правым отступами). |
protected short | getLeftInset() | Получает левый отступ. |
protected int | getNextEastWestVisualPositionFrom(int pos,
Position.Bias b,
Shape a,
int direction,
Position.Bias[] biasRet) | Возвращает следующее визуальное положение курсора в направлении восток или запад. |
protected int | getNextNorthSouthVisualPositionFrom(int pos,
Position.Bias b,
Shape a,
int direction,
Position.Bias[] biasRet) | Возвращает следующее визуальное положение курсора в направлении север или юг. |
int | getNextVisualPositionFrom(int pos,
Position.Bias b,
Shape a,
int direction,
Position.Bias[] biasRet) | Предоставляет способ определения следующего визуально представленного расположения модели, в котором можно разместить курсор. |
protected short | getRightInset() | Получает правый отступ. |
protected short | getTopInset() | Получает верхний отступ. |
View | getView(int n) | Возвращает n-е представление в этом контейнере. |
protected abstract View | getViewAtPoint(int x,
int y,
Rectangle alloc) | Получает дочернее представление по заданным координатам. |
protected View | getViewAtPosition(int pos,
Rectangle a) | Получает дочернее представление, представляющее данную позицию в модели. |
int | getViewCount() | Возвращает количество дочерних представлений этого представления. |
int | getViewIndex(int pos,
Position.Bias b) | Возвращает индекс дочернего представления, представляющий заданную позицию в модели. |
protected int | getViewIndexAtPosition(int pos) | Получает индекс дочернего представления, представляющий заданную позицию в модели. |
protected abstract boolean | isAfter(int x,
int y,
Rectangle alloc) | Проверяет, находится ли точка после диапазона прямоугольника. |
protected abstract boolean | isBefore(int x,
int y,
Rectangle alloc) | Проверяет, находится ли точка перед диапазоном прямоугольника. |
protected void | loadChildren(ViewFactory f) | Загружает все дочерние элементы для инициализации представления. |
Shape | modelToView(int pos,
Shape a,
Position.Bias b) | Предоставляет отображение из координатного пространства модели документа в координатное пространство отображаемого на него представления. |
Shape | modelToView(int p0,
Position.Bias b0,
int p1,
Position.Bias b1,
Shape a) | Предоставляет отображение из координатного пространства модели документа в координатное пространство отображаемого на него представления. |
void | replace(int offset,
int length,
View[] views) | Заменяет дочерние представления. |
protected void | setInsets(short top,
short left,
short bottom,
short right) | Задает отступы для представления. |
protected void | setParagraphInsets(AttributeSet attr) | Задает отступы из атрибутов абзаца, указанных в заданных атрибутах. |
void | setParent(View parent) | Задает родитель для представления. |
int | viewToModel(float x,
float y,
Shape a,
Position.Bias[] bias) | Предоставляет отображение из координатного пространства представления в логическое координатное пространство модели. |
Методы, объявленные в классе 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 Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Подробное описание конструкторов
CompositeView
public CompositeView(Element elem)
Создает CompositeView для данного элемента.
- Параметры:
-
elem- элемент, за который отвечает это представление
Методы
loadChildren
protected void loadChildren(ViewFactory f)
Загружает все дочерние элементы для инициализации представления. Этот метод вызывается методом setParent(javax.swing.text.View). Подклассы могут переопределить этот метод для инициализации своих дочерних представлений другим способом. Реализация по умолчанию создает дочернее представление для каждого дочернего элемента.
- Параметры:
-
f- фабрика представлений - См. также:
setParent(javax.swing.text.View)
setParent
public void setParent(View parent)
Устанавливает родительский элемент представления. Этот метод переопределен для обеспечения поведения суперкласса, а также вызова метода loadChildren , если у этого представления еще нет дочерних элементов. Дочерние элементы не должны загружаться в конструкторе, поскольку действие установки родительского элемента может привести к попытке поиска в иерархии (например, для получения размещающего Container). Если у этого представления есть дочерние элементы (представление перемещается из одного места в иерархии представлений в другое), метод loadChildren вызываться не будет.
- Переопределяет:
-
setParentв классеView - Параметры:
-
parent- родительский элемент представления,nullесли его нет
getViewCount
public int getViewCount()
Возвращает количество дочерних представлений этого представления.
- Переопределяет:
-
getViewCountв классеView - Возвращает:
- количество представлений >= 0
- См. также:
getView(int)
getView
public View getView(int n)
Возвращает 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- если заданная позиция не представляет допустимое местоположение в связанном документе - См. также:
View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)
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- для недопустимого аргумента смещения - См. также:
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
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
- См. также:
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
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) Проверяет, находится ли точка перед диапазоном прямоугольников.
- Параметры:
-
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некорректно - См. также:
getNextVisualPositionFrom(int, javax.swing.text.Position.Bias, java.awt.Shape, int, javax.swing.text.Position.Bias[])
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некорректно - См. также:
getNextVisualPositionFrom(int, javax.swing.text.Position.Bias, java.awt.Shape, int, javax.swing.text.Position.Bias[])
flipEastAndWestAtEnds
protected boolean flipEastAndWestAtEnds(int position,
Position.Bias bias) Определяет, в каком направлении расположен следующий вид. Рассмотрим View с индексом n. Обычно View располагаются слева направо, так что View на ВОСТОК будет с индексом n + 1, а View на ЗАПАД — с индексом n - 1. В некоторых ситуациях, например, при двунаправленном тексте, View на ВОСТОК может иметь индекс n - 1, а View на ЗАПАД — индекс n + 1. В этом случае метод вернёт true, указывая, что View расположены в обратном порядке.
Этот метод безусловно возвращает false. Подклассы должны переопределять этот метод, если существует возможность расположения View в обратном порядке.
- Параметры:
-
position- позиция в модели -
bias- либоPosition.Bias.Forward, либоPosition.Bias.Backward - Возвращает:
- false
© 1993, 2020, 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/11/docs/api/java.desktop/javax/swing/text/CompositeView.html