Класс ParagraphView
- Все реализованные интерфейсы:
-
SwingConstants,TabExpander
- Прямые известные подклассы:
ParagraphView
public class ParagraphView extends FlowView implements TabExpander
breakView, чтобы попробовать разбить представление на части, которые подойдут.- См. также:
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в классе 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 |
Создает ParagraphView для данного элемента. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
View |
breakView |
Разбивает данное представление по заданной оси в заданной длине. |
protected SizeRequirements |
calculateMinorAxisRequirements |
Вычисляет потребности для абзаца по малой оси. |
void |
changedUpdate |
Получает уведомление от документа о том, что атрибуты были изменены в месте, за которое это представление отвечает. |
protected View |
createRow() |
Создает View, который должен использоваться для хранения строки дочерних элементов в потоке. |
protected int |
findOffsetToCharactersInString |
Находит следующий символ в документе с символом в string, начиная с смещения start. |
protected boolean |
flipEastAndWestAtEnds |
Определяет, в каком направлении расположено следующее представление. |
float |
getAlignment |
Определяет желаемое выравнивание для данного представления вдоль оси. |
int |
getBreakWeight |
Получает вес разрыва для заданного расположения. |
protected int |
getClosestPositionTo |
Возвращает ближайшую позицию модели к x. |
int |
getFlowSpan |
Получает ограничивающую область для потока для заданного индекса дочернего элемента. |
int |
getFlowStart |
Получает расположение вдоль оси потока, с которого начнётся область потока. |
protected View |
getLayoutView |
Возвращает представление по заданному index. |
protected int |
getLayoutViewCount() |
Возвращает количество представлений, за которые это представление отвечает. |
protected int |
getNextNorthSouthVisualPositionFrom |
Возвращает следующую визуальную позицию курсора в направлении восток или запад. |
protected float |
getPartialSize |
Возвращает размер, используемый представлениями между startOffset и endOffset. |
protected float |
getTabBase() |
Возвращает, откуда вычисляются отступы табуляции. |
protected TabSet |
getTabSet() |
Получает Tabset, используемый для вычисления отступов табуляции. |
float |
nextTabStop |
Возвращает следующую позицию отступа табуляции, заданную позицией ссылки. |
void |
paint |
Отображает с использованием заданной поверхности отрисовки и области на этой поверхности. |
protected void |
setFirstLineIndent |
Устанавливает отступ первой строки. |
protected void |
setJustification |
Устанавливает тип выравнивания. |
protected void |
setLineSpacing |
Устанавливает интервал между строками. |
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
Подробное описание полей
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- для неверного расположения в модели документа - См. также:
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
- См. также:
getFlowStart
public int getFlowStart(int index)
- Переопределяет:
-
getFlowStartв классеFlowView - Параметры:
-
index- индекс запрашиваемого представления - Возвращает:
- положение для данного представления по
index - С:
- 1.3
- См. также:
createRow
nextTabStop
public float nextTabStop(float x, int tabOffset)
getTabbedSpan на логических дочерних элементах в процессе макетирования, чтобы определить желаемую область дочерних элементов. Логические дочерние элементы могут делегировать свои нужды по расширению табуляции вверх абзацу, который знает, как расширять табуляцию. LabelView — пример представления, которое делегирует свои нужды по расширению табуляции вверх абзацу. Это реализовано, чтобы попытаться найти TabSet в наборе атрибутов элемента абзаца. Если он найден, его настройки будут использованы, в противном случае будет предоставлено стандартное расширение. Базовое положение для расширения табуляции — это левый отступ последнего выделения абзаца (на котором основан макет дочерних элементов).
- Задано в:
-
nextTabStopв интерфейсеTabExpander - Параметры:
-
x- X-координата опорной позиции -
tabOffset- позиция в текстовом потоке, где произошла табуляция >= 0 - Возвращает:
- конечная точка расширения табуляции >= 0
- См. также:
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)
getAlignment
public float getAlignment(int axis)
- 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:
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:
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:
changedUpdate
public void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
- Overrides:
-
changedUpdateв классеFlowView - Parameters:
-
changes- информация о изменении из связанного документа -
a- текущее выделение представления -
f- фабрика для использования при перестроении, если у представления есть дочерние элементы - See Also:
© 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