Класс FlowView.FlowStrategy
java.lang.Object
javax.swing.text.FlowView.FlowStrategy
- Внешний класс:
FlowView
public static class FlowView.FlowStrategy extends Object
Стратегия поддержания физической формы потока. Реализация по умолчанию не хранит состояние и заново рассчитывает весь поток, если компоновка указанного FlowView недействительна. Альтернативные стратегии можно реализовать в подклассе; они могут выполнять инкрементальное исправление компоновки или использовать альтернативное поведение разбиения.
- Начиная с:
- 1.3
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
FlowStrategy() |
Создает FlowStrategy. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected void |
adjustRow |
По возможности корректирует указанную строку, чтобы она помещалась в область компоновки. |
void |
changedUpdate |
Уведомляет представление об изменении атрибутов документа в области, за которую отвечает это представление. |
protected View |
createView |
Создает представление, которое можно использовать для отображения текущего фрагмента потока. |
protected View |
getLogicalView |
Этот метод предоставляет стратегиям потока доступ к логическому представлению FlowView. |
void |
insertUpdate |
Уведомляет о вставке данных в документ в области, за которую отвечает указанное представление потока. |
void |
layout |
Обновляет поток в указанном FlowView. |
protected int |
layoutRow |
Создает строку представлений, которая помещается в область компоновки строки. |
void |
removeUpdate |
Уведомляет об удалении данных из документа в области, за которую отвечает указанное представление потока. |
Подробное описание конструкторов
FlowStrategy
public FlowStrategy()
Создает
FlowStrategy.Подробное описание методов
insertUpdate
public void insertUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
Уведомляет о вставке данных в документ в области, за которую отвечает указанное представление потока. Стратегия должна обновить соответствующую измененную область (которая зависит от используемого способа исправления).
- Параметры:
-
fv— представление потока -
e— сведения об изменениях из связанного документа -
alloc— текущая область размещения представления внутри отступов. Это значение будет равно null, если представление еще не отображалось. - См. также:
removeUpdate
public void removeUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
Уведомляет об удалении данных из документа в области, за которую отвечает указанное представление потока.
- Параметры:
-
fv— представление потока -
e— сведения об изменениях из связанного документа -
alloc— текущая область размещения представления внутри отступов. - См. также:
changedUpdate
public void changedUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
Уведомляет об изменении атрибутов документа в области, за которую отвечает это представление.
- Параметры:
-
fv—FlowView, содержащий изменения -
e—DocumentEvent, описывающий изменения, внесенные в документ -
alloc— границы представления - См. также:
getLogicalView
protected View getLogicalView(FlowView fv)
Этот метод предоставляет стратегиям потока доступ к логическому представлению FlowView.
- Параметры:
-
fv— FlowView - Возвращает:
- логическое представление FlowView
layout
public void layout(FlowView fv)
Обновляет поток в указанном FlowView. По умолчанию это приводит к перестроению всех строк (дочерних представлений) в соответствии с заданными ограничениями для каждой строки. Этот метод вызывается из FlowView.layout для обновления дочерних представлений в потоке.
- Параметры:
-
fv— представление, поток которого нужно перестроить
layoutRow
protected int layoutRow(FlowView fv, int rowIndex, int pos)
Создает строку представлений, которая помещается в область компоновки строки. Этот метод вызывается методом layout. Реализация заполняет строку, многократно вызывая метод createView, пока не будет исчерпана доступная область, не встретится принудительный разрыв или метод createView не вернет null. Если доступная область исчерпана, вызывается метод adjustRow, чтобы скорректировать строку и попытаться разместить ее в заданной области.
- Параметры:
-
fv— представление потока -
rowIndex— индекс строки, которую нужно заполнить представлениями. Предполагается, что при входе строка пуста. -
pos— текущая позиция в дочерних элементах этого элемента представления, с которой нужно начать. - Возвращает:
- позицию, с которой нужно начать следующую строку
adjustRow
protected void adjustRow(FlowView fv, int rowIndex, int desiredSpan, int x)
По возможности корректирует указанную строку, чтобы она помещалась в область компоновки. По умолчанию метод пытается найти максимально возможный вес разрыва ближе к концу строки. Если встречается принудительный разрыв, разрыв будет помещен в этом месте.
- Параметры:
-
fv— представление потока -
rowIndex— строка, которую нужно подогнать под текущую область компоновки. -
desiredSpan— текущая область компоновки >= 0 -
x— позиция, с которой начинается r.
createView
protected View createView(FlowView fv, int startOffset, int spanLeft, int rowIndex)
Создает представление, которое можно использовать для отображения текущего фрагмента потока. Это может быть как целое представление из логического представления, так и его фрагмент.
- Параметры:
-
fv— представление, содержащее поток -
startOffset— начальная позиция создаваемого представления -
spanLeft— оставшаяся для заполнения строки область -
rowIndex— строка, в которую будет помещено представление - Возвращает:
- представление, которое можно использовать для отображения текущего фрагмента потока
© 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/FlowView.FlowStrategy.html