Spec-Zone.ru › OpenJDK 8

Класс BoxView

  • java.lang.Object
    • javax.swing.text.View
      • javax.swing.text.CompositeView
        • javax.swing.text.BoxView
Все реализованные интерфейсы:
SwingConstants
Прямые известные подклассы:
BlockView, FlowView, TableView, TableView.TableCell, TableView.TableRow, WrappedPlainView, ZoneView

public class BoxView
extends CompositeView

Представление, которое организует своих потомков в форме прямоугольника, выстраивая их вдоль оси. Прямоугольник чем-то похож на прямоугольник в TeX, где происходит выравнивание потомков, учитывается гибкость потомков и т. д. Это строительный блок, который может быть полезен для представления таких вещей, как набор строк, абзацев, списков, столбцов, страниц и т. д. Ось, вдоль которой выстраиваются потомки, считается основной осью. Ортогональная ось — это побочная ось.

Макет для каждой оси обрабатывается отдельно методами layoutMajorAxis и layoutMinorAxis. Подклассы могут изменить алгоритм макета, переопределяя эти методы. Эти методы будут вызываться по мере необходимости, в зависимости от наличия кэшированных данных макета и его валидности. Эти методы обычно вызываются, если изменяется заданный размер по оси или если layoutChanged вызывается для принудительного обновления макета. Метод layoutChanged делает недействительными кэшированные данные макета, если они есть. Требования, опубликованные для родительского представления, вычисляются методами calculateMajorAxisRequirements и calculateMinorAxisRequirements. Если алгоритм макета изменён, эти методы, скорее всего, нужно будет переопределить.

Сводка полей

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

Сводка конструкторов

Конструктор и описание
BoxView(Element elem, int axis)

Создаёт BoxView.

Сводка методов

Модификатор и тип Метод и описание
protected void baselineLayout(int targetSpan, int axis, int[] offsets, int[] spans)

Вычисляет расположение и размер каждого дочернего представления в этом BoxView с учётом targetSpan, что соответствует ширине (или высоте) области, с которой мы работаем.

protected SizeRequirements baselineRequirements(int axis, SizeRequirements r)

Вычисляет требования к размеру для этого BoxView путём анализа размера каждого дочернего представления.

protected SizeRequirements calculateMajorAxisRequirements(int axis, SizeRequirements r)

Вычисляет требования к размеру для основной оси axis.

protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)

Вычисляет требования к размеру для побочной оси axis.

protected void childAllocation(int index, Rectangle alloc)

Выделяет область для дочернего представления.

protected boolean flipEastAndWestAtEnds(int position, Position.Bias bias)

Определяет направление расположения следующего представления.

protected void forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory f)

Передаёт заданное DocumentEvent дочерним представлениям, которые должны быть уведомлены о изменении модели.

float getAlignment(int axis)

Определяет желаемое выравнивание данного представления вдоль оси.

int getAxis()

Извлекает свойство оси выкладки.

Shape getChildAllocation(int index, Shape a)

Извлекает выделение для данного дочернего представления.

int getHeight()

Возвращает текущую высоту прямоугольника.

float getMaximumSpan(int axis)

Определяет максимальный охват для данного представления вдоль оси.

float getMinimumSpan(int axis)

Определяет минимальный охват для данного представления вдоль оси.

protected int getOffset(int axis, int childIndex)

Извлекает смещение текущего макета определённого дочернего элемента.

float getPreferredSpan(int axis)

Определяет предпочтительный охват для данного представления вдоль оси.

int getResizeWeight(int axis)

Получает вес изменения размера.

protected int getSpan(int axis, int childIndex)

Извлекает охват текущего макета определённого дочернего элемента.

protected View getViewAtPoint(int x, int y, Rectangle alloc)

Извлекает дочернее представление в заданных координатах.

int getWidth()

Возвращает текущую ширину прямоугольника.

protected boolean isAfter(int x, int y, Rectangle innerAlloc)

Определяет, находится ли точка после выделенной области.

protected boolean isAllocationValid()

Являются ли выделения для потомков по-прежнему действительными?

protected boolean isBefore(int x, int y, Rectangle innerAlloc)

Определяет, находится ли точка перед выделенной областью.

protected boolean isLayoutValid(int axis)

Определяет, является ли макет валидным вдоль заданной оси.

protected void layout(int width, int height)

Выполнить макетирование прямоугольника

void layoutChanged(int axis)

Делает макет недействительным вдоль оси.

protected void layoutMajorAxis(int targetSpan, int axis, int[] offsets, int[] spans)

Выполняет макетирование по основной оси прямоугольника (т. е.

protected void layoutMinorAxis(int targetSpan, int axis, int[] offsets, int[] spans)

Выполняет макетирование по побочной оси прямоугольника (т. е.

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

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

void paint(Graphics g, Shape allocation)

Отображает BoxView с помощью заданной поверхности рендеринга и области на этой поверхности.

protected void paintChild(Graphics g, Rectangle alloc, int index)

Окрашивает дочерний элемент.

void preferenceChanged(View child, boolean width, boolean height)

Это вызывается дочерним элементом, чтобы указать, что его предпочтительный охват изменился.

void replace(int index, int length, View[] elems)

Делает макет недействительным и переразмеряет кэш запросов/выделений.

void setAxis(int axis)

Устанавливает свойство оси выкладки.

void setSize(float width, float height)

Устанавливает размер представления.

int viewToModel(float x, float y, Shape a, Position.Bias[] bias)

Обеспечивает отображение из пространства координат представления в логическое пространство координат модели.

Методы, унаследованные от класса javax.swing.text.CompositeView

getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, getViewIndexAtPosition, loadChildren, modelToView, setInsets, setParagraphInsets, setParent

Методы, унаследованные от класса javax.swing.text.View

append, breakView, changedUpdate, createFragment, forwardUpdateToView, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getStartOffset, getToolTipText, getViewFactory, getViewIndex, insert, insertUpdate, isVisible, modelToView, remove, removeAll, removeUpdate, updateChildren, updateLayout, viewToModel

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

BoxView

public BoxView(Element elem,
               int axis)

Создаёт BoxView.

Параметры:
elem - элемент, за который отвечает эта область просмотра
axis - либо View.X_AXIS, либо View.Y_AXIS

Методы

getAxis

public int getAxis()

Возвращает свойство оси разбиения. Это ось, по которой плитки размещаются для дочерних областей просмотра.

Возвращает:
главную ось области, либо View.X_AXIS, либо View.Y_AXIS
С тех пор:
1.3

setAxis

public void setAxis(int axis)

Устанавливает свойство оси разбиения. Это ось, по которой плитки размещаются для дочерних областей просмотра.

Параметры:
axis - либо View.X_AXIS, либо View.Y_AXIS
С тех пор:
1.3

layoutChanged

public void layoutChanged(int axis)

Очищает компоновку по оси. Это происходит автоматически, если изменились предпочтения для какой-либо из дочерних областей просмотра. В некоторых случаях компоновку может потребоваться пересчитать, даже если предпочтения не изменились. Компоновку можно пометить как недействительную, вызвав этот метод. Компоновка будет обновлена в следующий раз, когда метод setSize будет вызван для этой области просмотра (обычно при отрисовке).

Параметры:
axis - либо View.X_AXIS, либо View.Y_AXIS
С тех пор:
1.3

isLayoutValid

protected boolean isLayoutValid(int axis)

Определяет, является ли компоновка допустимой вдоль заданной оси.

Параметры:
axis - либо View.X_AXIS, либо View.Y_AXIS
С тех пор:
1.4

paintChild

protected void paintChild(Graphics g,
                          Rectangle alloc,
                          int index)

Отрисовывает дочернюю область. По умолчанию это всё, что он делает, но подкласс может использовать это для отрисовки чего-либо относительно дочерней области.

Параметры:
g - контекст графики
alloc - выделенная область для отрисовки
index - индекс дочерней области, >= 0 && < getViewCount()

replace

public void replace(int index,
                    int length,
                    View[] elems)

Очищает компоновку и изменяет размер кэша запросов/выделений. Доступ к дочерним выделениям по-прежнему возможен для старой компоновки, но новые дочерние элементы будут иметь смещение и размах 0.

Переопределяет:
replace в классе CompositeView
Параметры:
index - начальный индекс дочерних областей просмотра для вставки новых областей просмотра; это должно быть значение >= 0 и <= getViewCount
length - количество существующих дочерних областей просмотра для удаления; это должно быть значение >= 0 и <= (getViewCount() - смещение)
elems - дочерние области просмотра для добавления; это значение может быть null, чтобы указать, что дочерние элементы не добавляются (полезно для удаления)

forwardUpdate

protected void forwardUpdate(DocumentEvent.ElementChange ec,
                             DocumentEvent e,
                             Shape a,
                             ViewFactory f)

Пересылает заданное DocumentEvent дочерним областям просмотра, которые должны быть уведомлены об изменении модели. Если дочерний элемент изменил свои требования, и выделение было допустимым до пересылки, часть области, начиная с дочернего элемента до конца области, будет перерисована.

Переопределяет:
forwardUpdate в классе View
Параметры:
ec - изменения в элементе, за который отвечает эта область просмотра (может быть null, если изменений не было)
e - информация об изменении из связанного документа
a - текущее выделение области просмотра
f - фабрика для использования при перестроении, если у области просмотра есть дочерние элементы
С тех пор:
1.3
См. также:
View.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory), View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory), View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

preferenceChanged

public void preferenceChanged(View child,
                              boolean width,
                              boolean height)

Вызывается дочерним элементом, чтобы указать, что его предпочтительный размах изменился. Это реализовано для удаления кэшированной информации о компоновке, чтобы при последующих расчётах выделялось место для детей.

Переопределяет:
preferenceChanged в классе View
Параметры:
child - дочерняя область просмотра
width - true, если ширина должна измениться
height - true, если высота должна измениться
См. также:
JComponent.revalidate()

getResizeWeight

public int getResizeWeight(int axis)

Возвращает вес изменения размера. Значение 0 или меньше означает, что элемент не изменяется в размерах.

Переопределяет:
getResizeWeight в классе View
Параметры:
axis - может быть либо View.X_AXIS, либо View.Y_AXIS
Возвращает:
вес
Исключения:
IllegalArgumentException - для недопустимой оси

setSize

public void setSize(float width,
                    float height)

Устанавливает размер области просмотра. Это должно привести к перекомпоновке области просмотра, если область просмотра кэширует информацию о компоновке. Реализовано для вызова метода компоновки с размерами внутри отступов.

Переопределяет:
setSize в классе View
Параметры:
width - ширина >= 0
height - высота >= 0

paint

public void paint(Graphics g,
                  Shape allocation)

Отрисовывает BoxView с помощью заданной поверхности рендеринга и области на этой поверхности. Будут отрисованы только те дочерние элементы, которые пересекают область обрезки заданного Graphics.

Определяется в:
paint в классе View
Параметры:
g - поверхность рендеринга для использования
allocation - область выделенная для отрисовки
См. также:
View.paint(java.awt.Graphics, java.awt.Shape)

getChildAllocation

public Shape getChildAllocation(int index,
                                Shape a)

Возвращает выделение для данной дочерней области просмотра. Это позволяет узнать, где находятся различные области просмотра. Реализовано для возврата null, если компоновка недействительна, в противном случае выполняется поведение родительского класса.

Переопределяет:
getChildAllocation в классе CompositeView
Параметры:
index - индекс дочернего элемента, >= 0 && > getViewCount()
a - выделение для этой области просмотра
Возвращает:
выделение для дочернего элемента; или null, если a является null; или null, если компоновка недействительна

modelToView

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

Обеспечивает отображение из пространства координат модели документа в пространство координат области просмотра, привязанной к ней. Это гарантирует, что выделение является действительным перед вызовом родительского класса.

Переопределяет:
modelToView в классе CompositeView
Параметры:
pos - позиция для преобразования >= 0
a - выделенная область для отрисовки
b - значение смещения, либо Position.Bias.Forward, либо Position.Bias.Backward
Возвращает:
прямоугольник, ограничивающий данную позицию
Исключения:
BadLocationException - если заданная позиция не представляет действительного расположения в ассоциированном документе
См. также:
View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)

viewToModel

public int viewToModel(float x,
                       float y,
                       Shape a,
                       Position.Bias[] bias)

Обеспечивает отображение из пространства координат области просмотра в логическое пространство координат модели.

Переопределяет:
viewToModel в классе CompositeView
Параметры:
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[])

getAlignment

public float getAlignment(int axis)

Определяет желаемое выравнивание для этой области просмотра вдоль оси. Это реализовано для получения общего выравнивания, необходимого для размещения дочерних элементов с выравниванием точек по оси, перпендикулярной оси разбиения. Ось разбиения запросит центрирование (т. е. 0,5f).

Переопределяет:
getAlignment в классе View
Параметры:
axis - может быть либо View.X_AXIS, либо View.Y_AXIS
Возвращает:
желаемое выравнивание >= 0,0f && <= 1,0f; это должно быть значение от 0,0 до 1,0, где 0 указывает выравнивание по началу, а 1,0 указывает выравнивание по всему размаху вдали от начала; выравнивание 0,5 будет центром области просмотра
Исключения:
IllegalArgumentException - для недопустимой оси

getPreferredSpan

public float getPreferredSpan(int axis)

Определяет предпочтительный размах для этой области просмотра вдоль оси.

Определяется в:
getPreferredSpan в классе View
Параметры:
axis - может быть либо View.X_AXIS, либо View.Y_AXIS
Возвращает:
размер, в который область просмотра хотела бы быть отрисована >= 0; обычно области просмотра говорят отрисовываться в выделенном размере, хотя нет гарантии; родитель может выбрать изменение размера или разбиение области просмотра
Исключения:
IllegalArgumentException - для недопустимого типа оси
См. также:
View.getPreferredSpan(int)

getMinimumSpan

public float getMinimumSpan(int axis)

Определяет минимальный размах для этого представления по оси.

Overrides:
getMinimumSpan в классе View
Параметры:
axis - может быть либо View.X_AXIS или View.Y_AXIS
Возвращает:
размах, в который представление хочет быть рендерировано >= 0; обычно представление получает команду рендерить в этот размах, хотя это не гарантируется; родитель может выбрать изменение размера или разбиение представления
Исключение:
IllegalArgumentException - для неверного типа оси
См. также:
View.getPreferredSpan(int)

getMaximumSpan

public float getMaximumSpan(int axis)

Определяет максимальный размах для этого представления по оси.

Overrides:
getMaximumSpan в классе View
Параметры:
axis - может быть либо View.X_AXIS или View.Y_AXIS
Возвращает:
размах, в который представление хочет быть рендерировано >= 0; обычно представление получает команду рендерить в этот размах, хотя это не гарантируется; родитель может выбрать изменение размера или разбиение представления
Исключение:
IllegalArgumentException - для неверного типа оси
См. также:
View.getPreferredSpan(int)

isAllocationValid

protected boolean isAllocationValid()

Являются ли выделения для дочерних элементов по-прежнему действительными?

Возвращает:
true, если выделения по-прежнему действительны

isBefore

protected boolean isBefore(int x,
                           int y,
                           Rectangle innerAlloc)

Определяет, находится ли точка до выделенной области.

Specified by:
isBefore в классе CompositeView
Параметры:
x - координата X >= 0
y - координата Y >= 0
innerAlloc - выделенная область; это область внутри отступов
Возвращает:
true, если точка находится до области, иначе false

isAfter

protected boolean isAfter(int x,
                          int y,
                          Rectangle innerAlloc)

Определяет, находится ли точка после выделенной области.

Specified by:
isAfter в классе CompositeView
Параметры:
x - координата X >= 0
y - координата Y >= 0
innerAlloc - выделенная область; это область внутри отступов
Возвращает:
true, если точка находится после области, иначе false

getViewAtPoint

protected View getViewAtPoint(int x,
                              int y,
                              Rectangle alloc)

Возвращает дочернее представление по заданным координатам.

Specified by:
getViewAtPoint в классе CompositeView
Параметры:
x - координата X >= 0
y - координата Y >= 0
alloc - внутреннее выделение родителя при входе, которое должно быть изменено на выделение дочернего элемента при выходе
Возвращает:
представление

childAllocation

protected void childAllocation(int index,
                               Rectangle alloc)

Выделяет область для дочернего представления.

Specified by:
childAllocation в классе CompositeView
Параметры:
index - индекс дочернего представления для выделения, >= 0 && < getViewCount()
alloc - выделенная область

layout

protected void layout(int width,
                      int height)

Выполнить макет в ящике.

Параметры:
width - ширина (внутри отступов) >= 0
height - высота (внутри отступов) >= 0

getWidth

public int getWidth()

Возвращает текущую ширину ящика. Это ширина, которая была выделена в последний раз.

Возвращает:
текущая ширина ящика

getHeight

public int getHeight()

Возвращает текущую высоту ящика. Это высота, которая была выделена в последний раз.

Возвращает:
текущая высота ящика

layoutMajorAxis

protected void layoutMajorAxis(int targetSpan,
                               int axis,
                               int[] offsets,
                               int[] spans)

Выполняет макет для основной оси ящика (т.е. оси, которую он представляет). Результаты макета (смещение и размах для каждого дочернего элемента) помещаются в заданные массивы, которые представляют выделения для дочерних элементов по основной оси.

Параметры:
targetSpan - общий размах, предоставленный представлению, который будет использоваться для макета дочерних элементов
axis - ось, на которой выполняется макет
offsets - смещения от начала представления для каждого дочернего представления; это значение возврата, и оно заполняется реализацией этого метода
spans - размах каждого дочернего представления; это значение возврата, и оно заполняется реализацией этого метода

layoutMinorAxis

protected void layoutMinorAxis(int targetSpan,
                               int axis,
                               int[] offsets,
                               int[] spans)

Выполняет макет для побочной оси ящика (т.е. оси, ортогональной оси, которую он представляет). Результаты макета (смещение и размах для каждого дочернего элемента) помещаются в заданные массивы, которые представляют выделения для дочерних элементов по побочной оси.

Параметры:
targetSpan - общий размах, предоставленный представлению, который будет использоваться для макета дочерних элементов
axis - ось, на которой выполняется макет
offsets - смещения от начала представления для каждого дочернего представления; это значение возврата, и оно заполняется реализацией этого метода
spans - размах каждого дочернего представления; это значение возврата, и оно заполняется реализацией этого метода

calculateMajorAxisRequirements

protected SizeRequirements calculateMajorAxisRequirements(int axis,
                                                          SizeRequirements r)

Вычисляет требования к размеру для основной оси axis.

Параметры:
axis - ось, по которой изучается размер
r - объект SizeRequirements; если null объект будет создан
Возвращает:
новый инициализированный объект SizeRequirements
См. также:
SizeRequirements

calculateMinorAxisRequirements

protected SizeRequirements calculateMinorAxisRequirements(int axis,
                                                          SizeRequirements r)

Вычисляет требования к размеру для побочной оси axis.

Параметры:
axis - ось, по которой изучается размер
r - объект SizeRequirements; если null объект будет создан
Возвращает:
новый инициализированный объект SizeRequirements
См. также:
SizeRequirements

baselineLayout

protected void baselineLayout(int targetSpan,
                              int axis,
                              int[] offsets,
                              int[] spans)

Вычисляет расположение и размеры каждого дочернего представления в этом BoxView с учетом targetSpan, представляющего ширину (или высоту) области, с которой нужно работать.

Параметры:
targetSpan - общий размах, предоставленный представлению, который будет использоваться для макета дочерних элементов
axis - ось, по которой изучается размер, либо View.X_AXIS или View.Y_AXIS
offsets - пустой массив, заполняемый этим методом значениями, определяющими расположение каждого дочернего представления
spans - пустой массив, заполняемый этим методом значениями, определяющими размер каждого дочернего представления

baselineRequirements

protected SizeRequirements baselineRequirements(int axis,
                                                SizeRequirements r)

Вычисляет требования к размеру для этого BoxView путем изучения размера каждого дочернего представления.

Параметры:
axis - ось, по которой изучается размер
r - объект SizeRequirements; если null объект будет создан
Возвращает:
новый инициализированный объект SizeRequirements

getOffset

protected int getOffset(int axis,
                        int childIndex)

Возвращает смещение текущего макета определенного дочернего элемента.

Параметры:
axis - ось, по которой изучается размер
childIndex - индекс запрашиваемого дочернего элемента
Возвращает:
смещение (расположение) для указанного дочернего элемента

getSpan

protected int getSpan(int axis,
                      int childIndex)

Возвращает размах текущего макета определенного дочернего элемента.

Параметры:
axis - ось, по которой изучается размер
childIndex - индекс запрашиваемого дочернего элемента
Возвращает:
размах (ширина или высота) указанного дочернего элемента

flipEastAndWestAtEnds

protected boolean flipEastAndWestAtEnds(int position,
                                        Position.Bias bias)

Определяет направление расположения следующего представления. Рассмотрим представление с индексом n. Обычно представления располагаются слева направо, так что представление на ВОСТОК будет иметь индекс n + 1, а представление на ЗАПАД — индекс n - 1. В некоторых ситуациях, таких как с двунаправленным текстом, возможно, что представление на ВОСТОК находится не на индексе n + 1, а на индексе n - 1, или что представление на ЗАПАД не находится на индексе n - 1, а на индексе n + 1. В этом случае этот метод возвращает true, указывая, что представления расположены в обратном порядке. В противном случае метод возвращает false, указывая, что представления расположены в прямом порядке.

Если получатель располагает свои представления вдоль Y_AXIS, он вернёт значение, полученное вызовом того же метода на View отвечающем за отображение position и bias. В противном случае вернёт false.

Overrides:
flipEastAndWestAtEnds в классе CompositeView
Параметры:
position - позиция в модели
bias - либо Position.Bias.Forward или Position.Bias.Backward
Возвращает:
true, если представления вокруг представления, отвечающего за отображение position и bias, расположены в обратном порядке; иначе 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