Класс FlowView.FlowStrategy
- java.lang.Object
-
- javax.swing.text.FlowView.FlowStrategy
- Окружающий класс:
- FlowView
public static class FlowView.FlowStrategy extends Object
Стратегия для поддержания физической формы потока. Реализация по умолчанию полностью бессостоятельна и пересчитывает весь поток, если макет недействителен в данном FlowView. Альтернативные стратегии могут быть реализованы путём наследования и могут выполнять инкрементальный ремонт макета или альтернативное поведение разрыва.
- С:
- 1.3
Конструкторы
| Конструктор | Описание |
|---|---|
FlowStrategy() |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected void | adjustRow(FlowView fv,
int rowIndex,
int desiredSpan,
int x) | Корректирует заданную строку, если это возможно, чтобы она поместилась в область макета. |
void | changedUpdate(FlowView fv,
DocumentEvent e,
Rectangle alloc) | Предоставляет уведомление из документа о том, что атрибуты были изменены в месте, за которое отвечает этот вид. |
protected View | createView(FlowView fv,
int startOffset,
int spanLeft,
int rowIndex) | Создаёт вид, который может быть использован для представления текущей части потока. |
protected View | getLogicalView(FlowView fv) | Этот метод предоставляет стратегиям потока доступ к логическому представлению FlowView. |
void | insertUpdate(FlowView fv,
DocumentEvent e,
Rectangle alloc) | Предоставляет уведомление о том, что что-то было вставлено в документ в месте, за которое отвечает данный вид потока. |
void | layout(FlowView fv) | Обновляет поток в данном FlowView. |
protected int | layoutRow(FlowView fv,
int rowIndex,
int pos) | Создаёт строку представлений, которые поместятся в область макета строки. |
void | removeUpdate(FlowView fv,
DocumentEvent e,
Rectangle alloc) | Предоставляет уведомление о том, что что-то было удалено из документа в месте, за которое отвечает данный вид потока. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitКонструкторы
FlowStrategy
public FlowStrategy()
Методы
insertUpdate
public void insertUpdate(FlowView fv,
DocumentEvent e,
Rectangle alloc)Предоставляет уведомление о том, что что-то было вставлено в документ в месте, за которое отвечает данный вид потока. Стратегия должна обновить соответствующую изменённую область (что зависит от используемой стратегии ремонта).
- Параметры:
-
fv- вид потока -
e- информация о изменении из ассоциированного документа -
alloc- текущее размещение представления внутри отступов. Это значение будет null, если представление ещё не отображено. - См. также:
View.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
removeUpdate
public void removeUpdate(FlowView fv,
DocumentEvent e,
Rectangle alloc)Предоставляет уведомление о том, что что-то было удалено из документа в месте, за которое отвечает данный вид потока.
- Параметры:
-
fv- вид потока -
e- информация о изменении из ассоциированного документа -
alloc- текущее размещение представления внутри отступов. - См. также:
View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
changedUpdate
public void changedUpdate(FlowView fv,
DocumentEvent e,
Rectangle alloc)Предоставляет уведомление из документа о том, что атрибуты были изменены в месте, за которое отвечает этот вид.
- Параметры:
-
fv-FlowViewсодержащий изменения -
e-DocumentEventописывающий изменения, внесённые в документ -
alloc- Границы представления - См. также:
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
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, 2020, 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/11/docs/api/java.desktop/javax/swing/text/FlowView.FlowStrategy.html