Spec-Zone.ru › OpenJDK 8

Класс 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 p0, Position.Bias b0, int p1, Position.Bias b1, Shape a)

Предоставляет отображение из координатного пространства модели документа в координатное пространство представления, сопоставленного с ней.

Shape modelToView(int pos, Shape a, Position.Bias b)

Предоставляет отображение из координатного пространства модели документа в координатное пространство представления, сопоставленного с ней.

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
Возвращает:
индекс представления, представляющего заданную позицию, или -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, 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.

Spec-Zone.ru

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