Класс 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.
- Overrides:
-
flipEastAndWestAtEndsв классеCompositeView - Параметры:
-
position- позиция в модели -
bias- либоPosition.Bias.Forward, либоPosition.Bias.Backward - Возвращает:
- true, если представления, окружающие представление, отвечающее за отображение
positionиbias, выложены в обратном порядке; иначе false
© 1993, 2023, 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/21/docs/api/java.desktop/javax/swing/text/BoxView.html