Класс BoxView
- Все реализуемые интерфейсы:
SwingConstants
- Прямые известные подклассы:
BlockView, FlowView, TableView, TableView.TableCell, TableView.TableRow, WrappedPlainView, ZoneView
public class BoxView extends CompositeView
Макет для каждой оси обрабатывается отдельно методами layoutMajorAxis и layoutMinorAxis. Подклассы могут изменять алгоритм компоновки, переопределяя эти методы. Эти методы вызываются по мере необходимости в зависимости от наличия кэшированных данных компоновки и их актуальности. Обычно эти методы вызываются, если изменяется заданный размер вдоль оси или если вызывается layoutChanged для принудительного обновления компоновки. Метод layoutChanged аннулирует кэшированные данные компоновки, если они имеются. Требования, публикуемые для родительского представления, вычисляются методами calculateMajorAxisRequirements и calculateMinorAxisRequirements. Если алгоритм компоновки изменён, вероятно, эти методы также потребуется переопределить.
Краткое описание полей
Поля, объявленные в классе View
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
Поля, объявленные в интерфейсе 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 |
Создаёт BoxView. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected void |
baselineLayout |
Вычисляет положение и размер каждого дочернего представления в этом BoxView с учётом targetSpan, то есть ширины (или высоты) доступной области. |
protected SizeRequirements |
baselineRequirements |
Вычисляет требования к размеру этого BoxView, анализируя размеры каждого дочернего представления. |
protected SizeRequirements |
calculateMajorAxisRequirements |
Вычисляет требования к размеру для главной оси axis. |
protected SizeRequirements |
calculateMinorAxisRequirements |
Вычисляет требования к размеру для второстепенной оси axis. |
protected void |
childAllocation |
Выделяет область для дочернего представления. |
protected boolean |
flipEastAndWestAtEnds |
Определяет направление расположения следующего представления. |
protected void |
forwardUpdate |
Передаёт указанное DocumentEvent дочерним представлениям, которые необходимо уведомить об изменении модели. |
float |
getAlignment |
Определяет желаемое выравнивание этого представления вдоль оси. |
int |
getAxis() |
Получает свойство оси расположения элементов. |
Shape |
getChildAllocation |
Получает область, выделенную для указанного дочернего представления. |
int |
getHeight() |
Возвращает текущую высоту контейнера. |
float |
getMaximumSpan |
Определяет максимальный размер этого представления вдоль оси. |
float |
getMinimumSpan |
Определяет минимальный размер этого представления вдоль оси. |
protected int |
getOffset |
Получает смещение текущего макета указанного дочернего элемента. |
float |
getPreferredSpan |
Определяет предпочтительный размер этого представления вдоль оси. |
int |
getResizeWeight |
Получает коэффициент изменения размера. |
protected int |
getSpan |
Получает размер текущего макета указанного дочернего элемента. |
protected View |
getViewAtPoint |
Получает дочернее представление в указанных координатах. |
int |
getWidth() |
Возвращает текущую ширину контейнера. |
protected boolean |
isAfter |
Определяет, находится ли точка за пределами выделенной области. |
protected boolean |
isAllocationValid() |
Остаются ли выделенные дочерним элементам области актуальными? |
protected boolean |
isBefore |
Определяет, находится ли точка перед выделенной областью. |
protected boolean |
isLayoutValid |
Определяет, актуален ли макет вдоль указанной оси. |
protected void |
layout |
Выполняет компоновку контейнера |
void |
layoutChanged |
Аннулирует макет вдоль оси. |
protected void |
layoutMajorAxis |
Выполняет компоновку контейнера по главной оси (то есть по оси, которую он представляет). |
protected void |
layoutMinorAxis |
Выполняет компоновку контейнера по второстепенной оси (то есть по оси, ортогональной представляемой им оси). |
Shape |
modelToView |
Обеспечивает преобразование координат из пространства модели документа в координатное пространство соответствующего ей представления. |
void |
paint |
Отображает BoxView с использованием указанной поверхности отрисовки и области на этой поверхности. |
protected void |
paintChild |
Отрисовывает дочерний элемент. |
void |
preferenceChanged |
Вызывается дочерним элементом, чтобы сообщить об изменении предпочтительного размера. |
void |
replace |
Аннулирует макет и изменяет размер кэша запросов/выделенных областей. |
void |
setAxis |
Задаёт свойство оси расположения элементов. |
void |
setSize |
Задаёт размер представления. |
int |
viewToModel |
Обеспечивает преобразование координат из пространства координат представления в логическое координатное пространство модели. |
Методы, объявленные в классе CompositeView
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, getViewIndexAtPosition, loadChildren, modelToView, setInsets, setParagraphInsets, setParent
Методы, объявленные в классе 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
Подробное описание конструкторов
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 - Возвращает:
-
true, если размещение вдоль указанной оси действительно; в противном случае —false - С версии:
- 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)
- Переопределяет:
-
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
- См. также:
preferenceChanged
public void preferenceChanged(View child, boolean width, boolean height)
- Переопределяет:
-
preferenceChangedв классеView - Параметры:
-
child— дочернее представление -
width— true, если должно измениться предпочтение ширины -
height— true, если должно измениться предпочтение высоты - См. также:
getResizeWeight
public int getResizeWeight(int axis)
- Переопределяет:
-
getResizeWeightв классеView - Параметры:
-
axis— может бытьView.X_AXISилиView.Y_AXIS - Возвращает:
- коэффициент
- Выбрасывает:
-
IllegalArgumentException— если ось недопустима
setSize
public void setSize(float width, float height)
paint
public void paint(Graphics g, Shape allocation)
BoxView на указанной поверхности и в заданной области этой поверхности. Будут отрисованы только дочерние представления, пересекающиеся с границами области отсечения указанного Graphics.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— если указанная позиция не соответствует допустимому расположению в связанном документе - См. также:
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
- См. также:
getAlignment
public float getAlignment(int axis)
- Переопределяет:
-
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— если тип оси недопустим
getMinimumSpan
public float getMinimumSpan(int axis)
- Переопределяет:
-
getMinimumSpanв классеView - Параметры:
-
axis— может бытьView.X_AXISилиView.Y_AXIS - Возвращает:
- размер области, в которой представление должно быть отрисовано (>= 0); обычно представлению выделяется возвращенный размер, однако это не гарантируется: родительское представление может изменить размер или разбить представление
- Выбрасывает:
-
IllegalArgumentException— если тип оси недопустим - См. также:
getMaximumSpan
public float getMaximumSpan(int axis)
- Переопределяет:
-
getMaximumSpanв классеView - Параметры:
-
axis— может бытьView.X_AXISилиView.Y_AXIS - Возвращает:
- размер области, в которой представление должно быть отрисовано (>= 0); обычно представлению выделяется возвращенный размер, однако это не гарантируется: родительское представление может изменить размер или разбить представление
- Выбрасывает:
-
IllegalArgumentException— если тип оси недопустим - См. также:
isAllocationValid
protected boolean isAllocationValid()
- Возвращает:
- true, если выделенные области по-прежнему действительны
isBefore
protected boolean isBefore(int x, int y, Rectangle innerAlloc)
- Определено в:
-
isBeforeв классеCompositeView - Параметры:
-
x— координата X >= 0 -
y— координата Y >= 0 -
innerAlloc— выделенная область; это область внутри внутренних отступов - Возвращает:
- true, если точка находится перед областью; в противном случае — false
isAfter
protected boolean isAfter(int x, int y, Rectangle innerAlloc)
- Определено в:
-
isAfterв классеCompositeView - Параметры:
-
x— координата X >= 0 -
y— координата Y >= 0 -
innerAlloc— выделенная область; это область внутри внутренних отступов - Возвращает:
- true, если точка находится после области; в противном случае — false
getViewAtPoint
protected View getViewAtPoint(int x, int y, Rectangle alloc)
- Определено в:
-
getViewAtPointв классеCompositeView - Параметры:
-
x— координата X >= 0 -
y— координата Y >= 0 -
alloc— внутренняя выделенная область родительского представления при входе; при выходе ее следует заменить выделенной областью дочернего представления - Возвращает:
- представление
childAllocation
protected void childAllocation(int index, Rectangle alloc)
- Определено в:
-
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 - См. также:
calculateMinorAxisRequirements
protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
axis.- Параметры:
-
axis— исследуемая ось -
r— объектSizeRequirements; еслиnull, он будет создан - Возвращает:
- вновь инициализированный объект
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)
View размещаются слева направо, поэтому View к ВОСТОКУ имеет индекс n + 1, а View к ЗАПАДУ — индекс n - 1. В некоторых ситуациях, например при двунаправленном тексте, возможно, что View к ВОСТОКУ имеет не индекс n + 1, а индекс n - 1, или что View к ЗАПАДУ имеет не индекс n - 1, а индекс n + 1. В этом случае метод возвращает true, указывая, что View размещаются в порядке убывания. В противном случае метод возвращает false, указывая, что View размещаются в порядке возрастания. Если получатель размещает свои View вдоль Y_AXIS, будет возвращено значение, полученное при вызове этого же метода у View, отвечающего за отображение position и bias. В противном случае возвращается false.
- Переопределяет:
-
flipEastAndWestAtEndsв классеCompositeView - Параметры:
-
position— позиция в модели -
bias— либоPosition.Bias.Forward, либоPosition.Bias.Backward - Возвращает:
- true, если
View, окружающиеView, отвечающее за отображениеpositionиbias, размещаются в порядке убывания; в противном случае — false
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/text/BoxView.html