Spec-Zone.ru › OpenJDK 21

Класс 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 желаемого представления
Возвращает:
представление по 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.
Параметры:
startOffset - начальный смещение в документе >= 0
endOffset - конечный смещение в документе >= startOffset
Возвращает:
размер >= 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, 2023, 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/21/docs/api/java.desktop/javax/swing/text/ParagraphView.html

Spec-Zone.ru

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