Класс 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 будет вызван для этого представления (как правило, при отрисовке).- Параметры:
-
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)
- Переопределяет:
-
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)
- Переопределяет:
-
setSizeв классеView - Параметры:
-
width- ширина >= 0 -
height- высота >= 0
paint
public void paint(Graphics g, Shape allocation)
BoxView с помощью заданной поверхности отрисовки и области на этой поверхности. Будут отрисованы только дочерние элементы, которые пересекают область обрезки данного Graphics. - Определено в:
-
paintв классеView - Параметры:
-
g- поверхность отрисовки для использования -
allocation- выделенная область для отображения - См. также:
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)
- 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:
getMaximumSpan
public float getMaximumSpan(int axis)
- Overrides:
-
getMaximumSpanв классеView - 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:
-
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:
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 путем изучения размера каждого дочернего представления.- Параметры:
-
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)
Если получатель выстраивает свои представления вдоль 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