Spec-Zone.ru › OpenJDK 25

Класс 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, View[]). Поскольку View вызывает replace при уведомлении DocumentListener, обычно нет необходимости вызывать replace напрямую.

Хотя CompositeView не накладывает правила компоновки на дочерние View, оно позволяет задавать отступы для содержащихся в нём дочерних View. Отступы можно задать с помощью метода setInsets(short, short, short, short) или setParagraphInsets(AttributeSet).

Помимо абстрактных методов View, подклассам CompositeView необходимо переопределить следующие методы:

  • isBefore(int, int, Rectangle) — проверяет, находится ли заданная позиция View перед визуальной областью CompositeView.
  • isAfter(int, int, Rectangle) — проверяет, находится ли заданная позиция View после визуальной области CompositeView.
  • getViewAtPoint(int, int, Rectangle) — возвращает представление в заданной визуальной позиции.
  • childAllocation(int, Rectangle) — возвращает границы определённого дочернего View. getChildAllocation вызывает childAllocation после смещения границ на величину отступов Inset у CompositeView.

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

Поля, объявленные в классе View

BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS

Поля, объявленные в интерфейсе 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)
Обеспечивает отображение координатного пространства представления в логическое координатное пространство модели.

Методы, объявленные в классе 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

Методы, объявленные в классе 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(View). Подклассы могут переопределить его, чтобы инициализировать дочерние представления другим способом. Реализация по умолчанию создает дочернее представление для каждого дочернего элемента.
Параметры:
f — фабрика представлений
См. также:
  • setParent(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, Shape, 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, Shape, 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, Shape, Position.Bias[])

getNextVisualPositionFrom

public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException
Предоставляет способ определить следующее визуально отображаемое местоположение в модели, в котором можно разместить каретку. Некоторые представления могут быть невидимыми, располагаться не в том же порядке, что и в модели, или просто не предоставлять доступ к некоторым местоположениям модели. Это вспомогательный метод для getNextNorthSouthVisualPositionFrom(int, Position.Bias, Shape, int, Position.Bias[]) и getNextEastWestVisualPositionFrom(int, Position.Bias, Shape, int, 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)
Преобразует неизменяемую область размещения, переданную представлению, в изменяемую область размещения, представляющую внутреннюю область размещения (то есть границы заданной области размещения без верхнего, левого, нижнего и правого отступов). Предполагается, что возвращённое значение будет изменено далее для представления области размещения дочернего представления. Реализация повторно использует переменную экземпляра, чтобы избежать создания избыточных объектов Rectangle. Обычно результат вызова этого метода передаётся методу 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, Position.Bias, Shape, int, 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, Position.Bias, Shape, int, Position.Bias[])

flipEastAndWestAtEnds

protected boolean flipEastAndWestAtEnds(int position, Position.Bias bias)
Определяет направление, в котором располагается следующее представление. Рассмотрим View с индексом n. Обычно Views располагаются слева направо, так что View к ВОСТОКУ будет иметь индекс n + 1, а View к ЗАПАДУ — индекс n - 1. В некоторых ситуациях, например при двунаправленном тексте, возможно, что View к ВОСТОКУ находится не по индексу n + 1, а по индексу n - 1, или что View к ЗАПАДУ находится не по индексу n - 1, а по индексу n + 1. В этом случае данный метод вернёт true, указывая, что Views расположены в порядке убывания.

Этот метод всегда возвращает false; подклассам следует переопределить его, если возможно расположение Views в порядке убывания.

Параметры:
position — позиция в модели
bias — Position.Bias.Forward или Position.Bias.Backward
Возвращает:
false

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/text/CompositeView.html

Spec-Zone.ru

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