Spec-Zone.ru › OpenJDK 17

Класс 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() - offset)
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[])
END_OF_DOCUMENT_MARKER

getAlignment

public float getAlignment(int axis)
Определяет желаемое выравнивание этого представления вдоль оси. Это реализовано для задания общего выравнивания, необходимого для позиционирования дочерних элементов с точками выравнивания, выровненными вдоль оси, ортогональной оси, которая масштабируется. Ось, которая масштабируется, запросит центрирование (т.е. 0,5f).
Overrides:
getAlignment в классе View
Parameters:
axis - может быть либо View.X_AXIS или View.Y_AXIS
Returns:
желаемое выравнивание >= 0,0f && <= 1,0f; это значение должно находиться между 0,0 и 1,0, где 0 указывает на выравнивание в начале координат, а 1,0 - на выравнивание по всему пространству вдали от начала координат; выравнивание 0,5 будет центром представления
Throws:
IllegalArgumentException - для недопустимой оси

getPreferredSpan

public float getPreferredSpan(int axis)
Определяет предпочтительный размер для этого представления вдоль оси.
Specified by:
getPreferredSpan в классе View
Parameters:
axis - может быть либо View.X_AXIS или View.Y_AXIS
Returns:
размер, который представление желает отобразить >= 0; обычно представлению сообщают об отображении в размер, который возвращается, хотя гарантии нет; родительский элемент может изменить размер или прервать отображение представления
Throws:
IllegalArgumentException - для неверного типа оси

getMinimumSpan

public float getMinimumSpan(int axis)
Определяет минимальный размер для этого представления вдоль оси.
Overrides:
getMinimumSpan в классе View
Parameters:
axis - может быть либо View.X_AXIS или View.Y_AXIS
Returns:
размер, который представление желает отобразить >= 0; обычно представлению сообщают об отображении в размер, который возвращается, хотя гарантии нет; родительский элемент может изменить размер или прервать отображение представления
Throws:
IllegalArgumentException - для неверного типа оси
See Also:
  • View.getPreferredSpan(int)

getMaximumSpan

public float getMaximumSpan(int axis)
Определяет максимальный размер для этого представления вдоль оси.
Overrides:
getMaximumSpan в классе View
Parameters:
axis - может быть либо View.X_AXIS или View.Y_AXIS
Returns:
размер, который представление желает отобразить >= 0; обычно представлению сообщают об отображении в размер, который возвращается, хотя гарантии нет; родительский элемент может изменить размер или прервать отображение представления
Throws:
IllegalArgumentException - для неверного типа оси
See Also:
  • View.getPreferredSpan(int)

isAllocationValid

protected boolean isAllocationValid()
Являются ли выделения для дочерних элементов по-прежнему действительными?
Returns:
true, если выделения по-прежнему действительны

isBefore

protected boolean isBefore(int x, int y, Rectangle innerAlloc)
Определяет, попадает ли точка до выделенной области.
Specified by:
isBefore в классе CompositeView
Parameters:
x - координата X >= 0
y - координата Y >= 0
innerAlloc - выделенная область; это область внутри отступов
Returns:
true, если точка находится перед областью, иначе false

isAfter

protected boolean isAfter(int x, int y, Rectangle innerAlloc)
Определяет, попадает ли точка после выделенной области.
Specified by:
isAfter в классе CompositeView
Parameters:
x - координата X >= 0
y - координата Y >= 0
innerAlloc - выделенная область; это область внутри отступов
Returns:
true, если точка находится после области, иначе false

getViewAtPoint

protected View getViewAtPoint(int x, int y, Rectangle alloc)
Извлекает дочернее представление по заданным координатам.
Specified by:
getViewAtPoint в классе CompositeView
Parameters:
x - координата X >= 0
y - координата Y >= 0
alloc - внутреннее выделение родителя при входе, которое должно быть изменено на выделение дочернего элемента при выходе
Returns:
представление

childAllocation

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

layout

protected void layout(int width, int height)
Выполнить макетирование в ящике
Parameters:
width - ширина (внутри отступов) >= 0
height - высота (внутри отступов) >= 0

getWidth

public int getWidth()
Возвращает текущую ширину ящика. Это ширина, которая была последней выделенной.
Returns:
текущая ширина ящика

getHeight

public int getHeight()
Возвращает текущую высоту ящика. Это высота, которая была последней выделенной.
Returns:
текущая высота ящика

layoutMajorAxis

protected void layoutMajorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
Выполняет макетирование для основной оси ящика (т.е. оси, которую он представляет). Результаты макетирования (смещение и размер для каждого дочернего элемента) помещаются в заданные массивы, которые представляют выделения для дочерних элементов по основной оси.
Parameters:
targetSpan - общий размер, предоставленный представлению, который будет использоваться для макетирования дочерних элементов
axis - ось, которая масштабируется
offsets - смещения от начала координат представления для каждого из дочерних представлений; это значение возврата, и оно заполняется реализацией этого метода
spans - размер каждого дочернего представления; это значение возврата, и оно заполняется реализацией этого метода

layoutMinorAxis

protected void layoutMinorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
Выполняет макетирование для вспомогательной оси ящика (т.е. оси, ортогональной оси, которую он представляет). Результаты макетирования (смещение и размер для каждого дочернего элемента) помещаются в заданные массивы, которые представляют выделения для дочерних элементов по вспомогательной оси.
Parameters:
targetSpan - общий размер, предоставленный представлению, который будет использоваться для макетирования дочерних элементов
axis - ось, которая масштабируется
offsets - смещения от начала координат представления для каждого из дочерних представлений; это значение возврата, и оно заполняется реализацией этого метода
spans - размер каждого дочернего представления; это значение возврата, и оно заполняется реализацией этого метода

calculateMajorAxisRequirements

protected SizeRequirements calculateMajorAxisRequirements(int axis, SizeRequirements r)
Вычисляет требования к размеру для основной оси axis.
Parameters:
axis - ось, которая исследуется
r - объект SizeRequirements; если null будет создан новый
Returns:
новый инициализированный объект SizeRequirements
See Also:
  • SizeRequirements

calculateMinorAxisRequirements

protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
Вычисляет требования к размеру для вспомогательной оси axis.
Parameters:
axis - ось, которая исследуется
r - объект SizeRequirements; если null будет создан новый
Returns:
новый инициализированный объект SizeRequirements
See Also:
  • SizeRequirements

baselineLayout

protected void baselineLayout(int targetSpan, int axis, int[] offsets, int[] spans)
Вычисляет расположение и размер каждого дочернего представления в этом BoxView с учётом targetSpan, которая представляет собой ширину (или высоту) области, с которой мы работаем.
Parameters:
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.

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

Spec-Zone.ru

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