Класс BoxView
- Все реализованные интерфейсы:
SwingConstants
- Непосредственные известные подклассы:
-
BlockView,FlowView,TableView,TableView.TableCell,TableView.TableRow,WrappedPlainView,ZoneView
public class BoxView extends CompositeView
Вычисление макета для каждой оси выполняется методами 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 |
Создает 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 |
Предоставляет отображение из координатного пространства представления в логическое координатное пространство модели. |
Методы, объявленные в классе 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
Подробное описание конструкторов
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 (как правило, в методе paint).- Параметры:
-
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)
- Overrides:
-
viewToModelin classCompositeView - Parameters:
-
x- координата x местоположения в представлении для преобразования >= 0 -
y- координата y местоположения в представлении для преобразования >= 0 -
a- выделенная область для отрисовки -
bias- либоPosition.Bias.Forward, либоPosition.Bias.Backward - Returns:
- местоположение в модели, наилучшим образом представляющее заданную точку в представлении >= 0
- See Also:
getAlignment
public float getAlignment(int axis)
- Overrides:
-
getAlignmentin classView - 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:
-
getPreferredSpanin classView - Parameters:
-
axis- может быть либоView.X_AXIS, либоView.Y_AXIS - Returns:
- ширина, которую представление желает для отрисовки >= 0; как правило, представлению сообщается об отрисовке в указанную ширину, хотя это не гарантируется; родительский элемент может выбрать изменение размера или разбиение представления
- Throws:
-
IllegalArgumentException- для неверного типа оси
getMinimumSpan
public float getMinimumSpan(int axis)
- Overrides:
-
getMinimumSpanin classView - Parameters:
-
axis- может быть либоView.X_AXIS, либоView.Y_AXIS - Returns:
- ширина, которую представление желает для отрисовки >= 0; как правило, представлению сообщается об отрисовке в указанную ширину, хотя это не гарантируется; родительский элемент может выбрать изменение размера или разбиение представления
- Throws:
-
IllegalArgumentException- для неверного типа оси - See Also:
getMaximumSpan
public float getMaximumSpan(int axis)
- Overrides:
-
getMaximumSpanin classView - Parameters:
-
axis- может быть либоView.X_AXIS, либоView.Y_AXIS - Returns:
- ширина, которую представление желает для отрисовки >= 0; как правило, представлению сообщается об отрисовке в указанную ширину, хотя это не гарантируется; родительский элемент может выбрать изменение размера или разбиение представления
- Throws:
-
IllegalArgumentException- для неверного типа оси - See Also:
isAllocationValid
protected boolean isAllocationValid()
- Returns:
- true, если выделения по-прежнему действительны
isBefore
protected boolean isBefore(int x, int y, Rectangle innerAlloc)
- Specified by:
-
isBeforein classCompositeView - Parameters:
-
x- координата X >= 0 -
y- координата Y >= 0 -
innerAlloc- выделенная область; это область внутри отступов - Returns:
- true, если точка находится перед областью, иначе false
isAfter
protected boolean isAfter(int x, int y, Rectangle innerAlloc)
- Specified by:
-
isAfterin classCompositeView - Parameters:
-
x- координата X >= 0 -
y- координата Y >= 0 -
innerAlloc- выделенная область; это область внутри отступов - Returns:
- true, если точка находится после области, иначе false
getViewAtPoint
protected View getViewAtPoint(int x, int y, Rectangle alloc)
- Specified by:
-
getViewAtPointin classCompositeView - Parameters:
-
x- координата X >= 0 -
y- координата Y >= 0 -
alloc- внутреннее выделение родителя при входе, которое должно быть изменено на выделение дочернего элемента при выходе - Returns:
- представление
childAllocation
protected void childAllocation(int index, Rectangle alloc)
- Specified by:
-
childAllocationin classCompositeView - 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:
calculateMinorAxisRequirements
protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
axis.- Parameters:
-
axis- ось, которая изучается -
r- объектSizeRequirements; еслиnull, будет создан новый - Returns:
- новый инициализированный объект
SizeRequirements - See Also:
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, анализируя размеры каждого дочернего представления.- Parameters:
-
axis- изучаемая ось -
r- объектSizeRequirements; еслиnull, будет создан новый - Returns:
- новый инициализированный объект
SizeRequirements
getOffset
protected int getOffset(int axis, int childIndex)
- Parameters:
-
axis- изучаемая ось -
childIndex- индекс запрашиваемого дочернего элемента - Returns:
- смещение (расположение) для указанного дочернего элемента
getSpan
protected int getSpan(int axis, int childIndex)
- Parameters:
-
axis- изучаемая ось -
childIndex- индекс запрашиваемого дочернего элемента - Returns:
- размер (ширина или высота) указанного дочернего элемента
flipEastAndWestAtEnds
protected boolean flipEastAndWestAtEnds(int position, Position.Bias bias)
Если получатель выстраивает свои представления по Y_AXIS, это вернёт значение из вызова того же метода на View, отвечающем за отрисовку position и bias. В противном случае это вернёт false.
- Overrides:
-
flipEastAndWestAtEndsв классеCompositeView - Parameters:
-
position- позиция в модели -
bias- либоPosition.Bias.Forward, либоPosition.Bias.Backward - Returns:
- true, если представления, окружающие
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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/text/BoxView.html