Класс 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)

Создаёт ParagraphView для заданного элемента.

Методы

Модификатор и тип Метод Описание
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()

Создаёт View, который должен использоваться для хранения строк дочерних элементов в потоке.

protected int findOffsetToCharactersInString​(char[] string, int start)

Ищет следующий символ в документе с символом в string, начиная с смещения 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)

Возвращает ближайшую позицию модели к x.

int getFlowSpan​(int index)

Получает ограничивающий диапазон для потока для заданного индекса дочернего элемента.

int getFlowStart​(int index)

Получает позицию по оси потока, в которой начнётся диапазон потока.

protected View getLayoutView​(int index)

Возвращает представление в заданной 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)

Возвращает размер, используемый представлениями между startOffset и endOffset.

protected float getTabBase()

Возвращает, откуда рассчитываются отступы.

protected TabSet getTabSet()

Получает Tabset, используемый для расчёта отступов.

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, который должен использоваться для хранения строки дочерних элементов в потоке.

Определено в:
createRow в классе FlowView
Возвращает:
новое View
С:
1.3

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

Spec-Zone .ru
спецификации, руководства, описания, API