Spec-Zone.ru › OpenJDK 17

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

Spec-Zone.ru

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