Класс 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, 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/FlowView.FlowStrategy.html