Класс ParagraphView
- java.lang.Object
-
- javax.swing.text.View
-
- javax.swing.text.CompositeView
-
- javax.swing.text.BoxView
-
- javax.swing.text.FlowView
-
- javax.swing.text.ParagraphView
- Все реализованные интерфейсы:
-
SwingConstants,TabExpander
- Непосредственные известные подклассы:
ParagraphView
public class ParagraphView extends FlowView implements TabExpander
Представление простого абзаца с переходом на новую строку, поддерживающего несколько шрифтов, цветов, компонентов, значков и т. д. В основе лежит вертикальная коробка с отступами. Содержимое коробки представляет собой набор строк, которые являются специальными горизонтальными коробками. Это представление создаёт набор представлений, отображающих дочерние элементы элемента абзаца. Каждый из этих элементов размещается в строке, если он в неё помещается, в противном случае вызывается метод breakView, чтобы разбить представление на части, которые подойдут.
- См. также:
View
Вложенные классы
Вложенные классы/интерфейсы, объявленные в классе javax.swing.text.FlowView
FlowView.FlowStrategy Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected int | firstLineIndent | Отступ первой строки слева. |
Поля, объявленные в классе javax.swing.text.FlowView
layoutPool, layoutSpan, strategy Поля, объявленные в классе 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 Конструкторы
| Конструктор | Описание |
|---|---|
ParagraphView(Element elem) | Создаёт |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
View | breakView(int axis,
float len,
Shape a) | Разбивает это представление по заданной оси в заданной длине. |
protected SizeRequirements | calculateMinorAxisRequirements(int axis,
SizeRequirements r) | Вычисляет потребности абзаца по малой оси. |
void | changedUpdate(DocumentEvent changes,
Shape a,
ViewFactory f) | Уведомляет о том, что в документе изменились атрибуты в позиции, за которую отвечает это представление. |
protected View | createRow() | Создаёт |
protected int | findOffsetToCharactersInString(char[] string,
int start) | Ищет следующий символ в документе с символом в |
protected boolean | flipEastAndWestAtEnds(int position,
Position.Bias bias) | Определяет направление, в котором располагается следующее представление. |
float | getAlignment(int axis) | Определяет желаемое выравнивание этого представления по оси. |
int | getBreakWeight(int axis,
float len) | Получает вес разрыва для заданной позиции. |
protected int | getClosestPositionTo(int pos,
Position.Bias b,
Shape a,
int direction,
Position.Bias[] biasRet,
int rowIndex,
int x) | Возвращает ближайшую позицию модели к |
int | getFlowSpan(int index) | Получает ограничивающий диапазон для потока для заданного индекса дочернего элемента. |
int | getFlowStart(int index) | Получает позицию по оси потока, в которой начнётся диапазон потока. |
protected View | getLayoutView(int index) | Возвращает представление в заданной |
protected int | getLayoutViewCount() | Возвращает количество представлений, за которые отвечает это представление. |
protected int | getNextNorthSouthVisualPositionFrom(int pos,
Position.Bias b,
Shape a,
int direction,
Position.Bias[] biasRet) | Возвращает следующую визуальную позицию курсора вправо или влево. |
protected float | getPartialSize(int startOffset,
int endOffset) | Возвращает размер, используемый представлениями между |
protected float | getTabBase() | Возвращает, откуда рассчитываются отступы. |
protected TabSet | getTabSet() | Получает |
float | nextTabStop(float x,
int tabOffset) | Возвращает следующую позицию табуляции, учитывая справочную позицию. |
void | paint(Graphics g,
Shape a) | Отображает с использованием заданной поверхности отображения и области на этой поверхности. |
protected void | setFirstLineIndent(float fi) | Устанавливает отступ первой строки. |
protected void | setJustification(int j) | Устанавливает тип выравнивания. |
protected void | setLineSpacing(float ls) | Устанавливает интерлиньяж. |
protected void | setPropertiesFromAttributes() | Устанавливает кэшированные свойства из атрибутов. |
Методы, объявленные в классе javax.swing.text.FlowView
getFlowAxis, getViewIndexAtPosition, insertUpdate, layout, loadChildren, removeUpdate Методы, объявленные в классе javax.swing.text.BoxView
baselineLayout, baselineRequirements, calculateMajorAxisRequirements, childAllocation, forwardUpdate, getAxis, getChildAllocation, getHeight, getMaximumSpan, getMinimumSpan, getOffset, getPreferredSpan, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, isLayoutValid, layoutChanged, layoutMajorAxis, layoutMinorAxis, modelToView, paintChild, preferenceChanged, replace, setAxis, setSize, viewToModel Методы, объявленные в классе javax.swing.text.CompositeView
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, modelToView, setInsets, setParagraphInsets, setParent Методы, объявленные в классе javax.swing.text.View
append, breakView, createFragment, forwardUpdateToView, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getStartOffset, getToolTipText, getViewFactory, getViewIndex, insert, isVisible, modelToView, remove, removeAll, updateChildren, updateLayout, viewToModel Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Поля
firstLineIndent
protected int firstLineIndent
Отступ первой строки слева.
Конструкторы
ParagraphView
public ParagraphView(Element elem)
Создаёт ParagraphView для заданного элемента.
- Параметры:
-
elem- элемент, за который отвечает это представление
Методы
setJustification
protected void setJustification(int j)
Устанавливает тип выравнивания.
- Параметры:
-
j- одно из следующих значений:-
StyleConstants.ALIGN_LEFT -
StyleConstants.ALIGN_CENTER -
StyleConstants.ALIGN_RIGHT
-
setLineSpacing
protected void setLineSpacing(float ls)
Устанавливает интервал между строками.
- Параметры:
-
ls- значение является коэффициентом высоты строки
setFirstLineIndent
protected void setFirstLineIndent(float fi)
Устанавливает отступ первой строки.
- Параметры:
-
fi- значение в пунктах
setPropertiesFromAttributes
protected void setPropertiesFromAttributes()
Устанавливает кэшированные свойства из атрибутов.
getLayoutViewCount
protected int getLayoutViewCount()
Возвращает количество представлений, за которые отвечает это представление. Дочерние представления абзаца — это строки, которые были использованы для упорядочения фрагментов Views, представляющих дочерние элементы. Это количество представлений, которые были разложены в двух измерениях, и оно должно быть эквивалентно количеству дочерних элементов, за которые отвечает это представление.
- Возвращает:
- количество представлений, за которые отвечает это
ParagraphView
getLayoutView
protected View getLayoutView(int index)
Возвращает представление в заданной index. Дочерние представления абзаца — это строки, которые были использованы для упорядочения фрагментов Views , представляющих дочерние элементы. Этот метод возвращает представление, отвечающее за индекс дочернего элемента (до разрыва). Это представления, которые были созданы из фабрики (для представления дочерних элементов) и использовались для макета.
- Параметры:
-
index-indexжелаемого представления - Возвращает:
- представление по
index
getNextNorthSouthVisualPositionFrom
protected int getNextNorthSouthVisualPositionFrom(int pos,
Position.Bias b,
Shape a,
int direction,
Position.Bias[] biasRet)
throws BadLocationException Возвращает следующую визуальную позицию курсора в направлении восток или запад. Переопределено из CompositeView.
- Переопределяет:
-
getNextNorthSouthVisualPositionFromв классеCompositeView - Параметры:
-
pos- позиция в модели -
b- либоPosition.Bias.ForwardлибоPosition.Bias.Backward -
a- выделенная область для отрисовки -
direction- либоSwingConstants.NORTHлибоSwingConstants.SOUTH -
biasRet- массив, содержащий смещение, которые проверялись в этом методе - Возвращает:
- местоположение в модели, представляющее следующую визуальную позицию
- Исключения:
-
BadLocationException- для неверного расположения в модели документа - См. также:
CompositeView.getNextVisualPositionFrom(int, javax.swing.text.Position.Bias, java.awt.Shape, int, javax.swing.text.Position.Bias[])
getClosestPositionTo
protected int getClosestPositionTo(int pos,
Position.Bias b,
Shape a,
int direction,
Position.Bias[] biasRet,
int rowIndex,
int x)
throws BadLocationException Возвращает ближайшую позицию модели к x. rowIndex указывает индекс представления, которое следует проверить.
- Параметры:
-
pos- позиция в модели -
b- смещение -
a- выделенная область для отрисовки -
direction- одно из следующих значений:-
SwingConstants.NORTH -
SwingConstants.SOUTH
-
-
biasRet- массив, содержащий смещения, которые проверялись в этом методе -
rowIndex- индекс представления -
x- координата x, представляющая интерес - Возвращает:
- ближайшая позиция модели к
x - Исключения:
-
BadLocationException- если встречено неверное расположение
flipEastAndWestAtEnds
protected boolean flipEastAndWestAtEnds(int position,
Position.Bias bias) Определяет направление расположения следующего представления. Рассмотрим View с индексом n. Как правило, View располагаются слева направо, так что View на ВОСТОК будет иметь индекс n + 1, а View на ЗАПАД — индекс n - 1. В некоторых ситуациях, таких как с текстом в двух направлениях, возможно, что View на ВОСТОК не находится по индексу n + 1, а по индексу n - 1, или что View на ЗАПАД не находится по индексу n - 1, а по индексу n + 1. В этом случае этот метод вернёт true, указывая, что View располагаются в обратном порядке.
Этот метод вернёт true, если текст выровнен справа налево в данной позиции, в противном случае false.
- Переопределяет:
-
flipEastAndWestAtEndsв классеBoxView - Параметры:
-
position- позиция в модели -
bias- либоPosition.Bias.ForwardлибоPosition.Bias.Backward - Возвращает:
- true, если текст выровнен справа налево в данной позиции, иначе false.
getFlowSpan
public int getFlowSpan(int index)
Возвращает ограничивающую область для потока для данного индекса дочернего элемента.
- Переопределяет:
-
getFlowSpanв классеFlowView - Параметры:
-
index- индекс представления, который запрашивается - Возвращает:
- ограничивающую область для данного представления по индексу
index - С:
- 1.3
- См. также:
FlowView.getFlowStart(int)
getFlowStart
public int getFlowStart(int index)
Возвращает расположение вдоль оси потока, где начинается область потока.
- Переопределяет:
-
getFlowStartв классеFlowView - Параметры:
-
index- индекс представления, который запрашивается - Возвращает:
- расположение для данного представления по индексу
index - С:
- 1.3
- См. также:
FlowView.getFlowSpan(int)
createRow
protected View createRow()
Создаёт View, который должен использоваться для хранения строки дочерних элементов в потоке.
nextTabStop
public float nextTabStop(float x,
int tabOffset) Возвращает следующую позицию отступа табуляции, исходя из заданной позиции. Это представление реализует систему координат табуляции и вызывает getTabbedSpan на дочерних элементах в процессе макета для определения желаемой области дочерних элементов. Логические дочерние элементы могут делегировать свои потребности в расширении табуляции абзацу, который знает, как расширять табуляции. LabelView является примером представления, делегирующего свои потребности в расширении табуляции абзацу.
Этот метод реализует попытку найти TabSet в наборе атрибутов элемента абзаца. Если он найден, его настройки будут использованы; в противном случае будет предоставлено стандартное расширение. Базовым расположением для расширения табуляции является левый отступ от последнего выделения абзаца (на котором основывается макет дочерних элементов).
- Определено в:
-
nextTabStopв интерфейсеTabExpander - Параметры:
-
x- позиция X отсчёта -
tabOffset- позиция в потоке текста, где произошла табуляция >= 0 - Возвращает:
- завершающая позиция расширения табуляции >= 0
- См. также:
-
TabSet,TabStop,LabelView
getTabSet
protected TabSet getTabSet()
Получает Tabset для расчёта табуляции.
- Возвращает:
TabSet
getPartialSize
protected float getPartialSize(int startOffset,
int endOffset) Возвращает размер, используемый представлениями между startOffset и endOffset. Для расчёта размера используется getPartialView, если дочернее представление реализует интерфейс TabableView. Если требуется размер и дочернее представление не реализует интерфейс TabableView, используется preferredSpan.
- Параметры:
-
startOffset- начальный смещение документа >= 0 -
endOffset- конечный смещение документа >= startOffset - Возвращает:
- размер >= 0
findOffsetToCharactersInString
protected int findOffsetToCharactersInString(char[] string,
int start) Находит следующий символ в документе, содержащий символ в string, начиная с смещения start. Если символы не найдены, возвращается -1.
- Параметры:
-
string- строка символов -
start- позиция начала в модели >= 0 - Возвращает:
- смещение в документе, или -1, если символы не найдены
getTabBase
protected float getTabBase()
Возвращает позицию начала расчёта табуляции.
- Возвращает:
- начало расчёта табуляции
paint
public void paint(Graphics g,
Shape a) Отрисовывает, используя заданную поверхность отрисовки и область на этой поверхности. Этот метод делегирует вызов суперклассу после сохранения базовой координаты для расчёта табуляции.
- Переопределяет:
-
paintв классеBoxView - Параметры:
-
g- поверхность отрисовки -
a- выделенная область для отрисовки - См. также:
View.paint(java.awt.Graphics, java.awt.Shape)
getAlignment
public float getAlignment(int axis)
Определяет желаемое выравнивание для этого представления вдоль оси. Реализовано для выравнивания по центру первой строки вдоль оси Y и стандартного выравнивания вдоль оси X.
- Переопределяет:
-
getAlignmentв классеBoxView - Параметры:
-
axis- может быть либоView.X_AXISилиView.Y_AXIS - Возвращает:
- желаемое выравнивание. Оно должно быть значением между 0,0 и 1,0 включительно, где 0 указывает на выравнивание в начале, а 1,0 — на выравнивание по всему пространству, удаляясь от начала. Выравнивание 0,5 будет соответствовать центру представления.
breakView
public View breakView(int axis,
float len,
Shape a) Разбивает это представление по заданной оси в заданной длине.
ParagraphView экземпляры разделяются только по оси Y_AXIS, и только если len находится после первой строки.
- Параметры:
-
axis- может быть либоView.X_AXISилиView.Y_AXIS -
len- задаёт местоположение потенциального разрыва вдоль заданной оси >= 0 -
a- текущее распределение представления - Возвращает:
- фрагмент представления, представляющий заданный отрезок, если представление можно разделить; если представление не поддерживает поведение разбиения, возвращается само представление
- См. также:
View.breakView(int, int, float, float)
getBreakWeight
public int getBreakWeight(int axis,
float len) Получает вес разрыва для заданного местоположения.
ParagraphView экземпляры разделяются только по оси Y_AXIS, и только если len находится после первой строки. Если длина меньше одной строки, возвращается значение BadBreakWeight.
- Параметры:
-
axis- может быть либоView.X_AXISилиView.Y_AXIS -
len- задаёт местоположение потенциального разрыва >= 0 - Возвращает:
- значение, указывающее на привлекательность разрыва здесь; либо
GoodBreakWeight, либоBadBreakWeight - См. также:
View.getBreakWeight(int, float, float)
calculateMinorAxisRequirements
protected SizeRequirements calculateMinorAxisRequirements(int axis,
SizeRequirements r) Рассчитывает потребности абзаца вдоль малой оси.
Это использует требования к размеру суперкласса, изменённые для учёта неразделяемых областей на краях смежных представлений. Минимальные требования к размеру таких представлений не должны быть меньше суммы всех смежных фрагментов.
Если параметр axis не является ни View.X_AXIS, ни View.Y_AXIS, выбрасывается IllegalArgumentException. Если параметр r равен null,, создаётся новый объект SizeRequirements, в противном случае возвращается переданный объект SizeRequirements.
- Переопределяет:
-
calculateMinorAxisRequirementsв классеFlowView - Параметры:
-
axis- малая ось -
r- входной объектSizeRequirements - Возвращает:
- новый или изменённый объект
SizeRequirements - Исключение:
-
IllegalArgumentException- если параметрaxisнекорректен - См. также:
SizeRequirements
changedUpdate
public void changedUpdate(DocumentEvent changes,
Shape a,
ViewFactory f) Предоставляет уведомление от документа о том, что атрибуты были изменены в расположении, за которое это представление отвечает.
- Переопределяет:
-
changedUpdateв классеFlowView - Параметры:
-
changes- информация о изменении от связанного документа -
a- текущее распределение представления -
f- фабрика для использования при перестроении, если у представления есть дочерние элементы - См. также:
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
© 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/ParagraphView.html