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