Spec-Zone.ru › OpenJDK 21

Класс 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. Подклассы, которые хотят управлять коллекцией дочерних 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 после смещения границ на отступы Inset CompositeView.

Краткое описание полей

Поля, объявленные в классе 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)
Создает CompositeView для данного элемента.

Краткое описание методов

Модификатор и тип Метод Описание
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)
Проверяет, лежит ли точка перед диапазоном прямоугольника.
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:
  • 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
Возвращает следующую визуальную позицию для курсора в направлении восток или запад.
Parameters:
pos - позиция для преобразования >= 0
b - значение смещения Position.Bias.Forward или Position.Bias.Backward
a - выделенная область для отрисовки
direction - направление от текущей позиции, которое можно представить как клавиши со стрелками на клавиатуре; это может быть одно из следующих:
  • SwingConstants.WEST
  • SwingConstants.EAST
biasRet - массив, содержащий проверенное смещение
Returns:
местоположение в модели, которое наилучшим образом представляет следующую позицию запад или восток
Throws:
BadLocationException - для некорректного местоположения в модели документа
IllegalArgumentException - если direction некорректно
See Also:
  • 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, а по индексу 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API