Spec-Zone.ru › OpenJDK 24

Класс 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 после смещения границ на отступы 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 - смещение влево или вправо относительно предыдущего/следующего символа, в случае, если позиция является границей двух представлений; либо Position.Bias.Forward, либо Position.Bias.Backward
p1 - позиция для преобразования >= 0
b1 - смещение влево или вправо относительно предыдущего/следующего символа, в случае, если позиция является границей двух представлений
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 для обратной совместимости.
Overrides:
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, а по индексу n - 1, или что View на запад не находится по индексу n - 1, а по индексу n + 1. В этом случае этот метод возвратит true, указывая, что View выстроены в обратном порядке.

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

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/text/CompositeView.html

Spec-Zone.ru

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