Spec-Zone.ru › OpenJDK 24

Класс 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)
Создает 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()
Возвращает количество представлений, за которые отвечает этот вид. Дочерние представления абзаца — это строки, которые использовались для упорядочения фрагментов View, представляющих дочерние элементы. Это количество представлений, выложенных в двух измерениях, и оно должно быть равно количеству дочерних элементов элемента, за который отвечает этот вид.
Возвращает:
количество представлений, за которые отвечает этот ParagraphView

getLayoutView

protected View getLayoutView(int index)
Возвращает представление по заданному index. Дочерние представления абзаца — это строки, которые использовались для упорядочения фрагментов Views, представляющих дочерние элементы. Этот метод возвращает представление, ответственное за индекс дочернего элемента (до разрыва). Это представления, которые были созданы с помощью фабрики (для представления дочерних элементов) и использовались для макета.
Параметры:
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. Если размер необходим, а представление View не реализует интерфейс TabableView, будет использован preferredSpan.
Parameters:
startOffset - начальный смещение в документе >= 0
endOffset - конечный смещение в документе >= startOffset
Returns:
размер >= 0

findOffsetToCharactersInString

protected int findOffsetToCharactersInString(char[] string, int start)
Находит следующий символ в документе, содержащий символ из string, начиная со смещения start. Если символы не найдены, возвращается -1.
Parameters:
string - строка символов
start - с какого места начинать в модели >= 0
Returns:
смещение в документе, или -1, если символы не найдены

getTabBase

protected float getTabBase()
Возвращает, от чего рассчитываются отступы табуляции.
Returns:
откуда рассчитываются отступы табуляции

paint

public void paint(Graphics g, Shape a)
Отрисовка с использованием заданной поверхности рендеринга и области на этой поверхности. Реализовано для делегирования суперклассу после сохранения базовой координаты для расчётов отступов табуляции.
Overrides:
paint в классе BoxView
Parameters:
g - поверхность рендеринга для использования
a - выделенная область для отрисовки
See Also:
  • View.paint(java.awt.Graphics, java.awt.Shape)

getAlignment

public float getAlignment(int axis)
Определяет желаемое выравнивание этого представления по оси. Реализовано для задания выравнивания по центру первой строки по оси y и по умолчанию по оси x.
Overrides:
getAlignment в классе BoxView
Parameters:
axis - может быть либо View.X_AXIS, либо View.Y_AXIS
Returns:
желаемое выравнивание. Должно быть значением между 0,0 и 1,0 включительно, где 0 указывает выравнивание по началу, а 1,0 - выравнивание по концу. Выравнивание 0,5 будет соответствовать центру представления.

breakView

public View breakView(int axis, float len, Shape a)
Разбивает это представление по заданной оси в заданной длине.

Экземпляры ParagraphView разбиваются только по оси Y_AXIS, и только если len находится после первой строки.

Parameters:
axis - может быть либо View.X_AXIS, либо View.Y_AXIS
len - указывает, где желательно разделить представление вдоль заданной оси >= 0
a - текущее выделение представления
Returns:
фрагмент представления, представляющий заданный отрезок, если представление можно разбить; если представление не поддерживает поведение разбиения, возвращается само представление
See Also:
  • View.breakView(int, int, float, float)

getBreakWeight

public int getBreakWeight(int axis, float len)
Получение веса разрыва для заданного местоположения.

Экземпляры ParagraphView разбиваются только по оси Y_AXIS, и только если len находится после первой строки. Если длина меньше одной строки, возвращается значение BadBreakWeight.

Parameters:
axis - может быть либо View.X_AXIS, либо View.Y_AXIS
len - указывает, где желательно разбить представление >= 0
Returns:
значение, указывающее привлекательность разбиения здесь; либо GoodBreakWeight, либо BadBreakWeight
See Also:
  • 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.

Overrides:
calculateMinorAxisRequirements в классе FlowView
Parameters:
axis - малая ось
r - входной объект SizeRequirements
Returns:
новый или изменённый объект SizeRequirements
Throws:
IllegalArgumentException - если параметр axis недопустим
See Also:
  • SizeRequirements

changedUpdate

public void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
Получение уведомления от документа о том, что атрибуты были изменены в позиции, за которую это представление отвечает.
Overrides:
changedUpdate в классе FlowView
Parameters:
changes - информация о изменении из связанного документа
a - текущее выделение представления
f - фабрика для использования при перестроении, если у представления есть дочерние элементы
See Also:
  • View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/text/ParagraphView.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API