Класс ParagraphView
- Все реализуемые интерфейсы:
SwingConstants, TabExpander
- Прямые известные подклассы:
ParagraphView
public class ParagraphView extends FlowView implements TabExpander
breakView, чтобы попытаться разбить представление на части, которые поместятся.- См. также:
Краткое описание вложенных классов
Вложенные классы и интерфейсы, объявленные в классе FlowView
FlowView.FlowStrategy
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected int |
firstLineIndent |
Отступ первой строки от левого внутреннего отступа. |
Поля, объявленные в классе FlowView
layoutPool, layoutSpan, strategy
Поля, объявленные в классе View
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
Поля, объявленные в интерфейсе 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() |
Задает кэшированные свойства на основе атрибутов. |
Методы, объявленные в классе FlowView
getFlowAxis, getViewIndexAtPosition, insertUpdate, layout, loadChildren, removeUpdate
Методы, объявленные в классе 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
Методы, объявленные в классе CompositeView
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, modelToView, setInsets, setParagraphInsets, setParent
Методы, объявленные в классе 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требуемого представления - Возвращает:
- представление по адресу
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. Если дочернее представление реализует интерфейс TabableView, для вычисления размера используется getPartialView. Если размер требуется, а View не реализует интерфейс 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)
getAlignment
public float getAlignment(int axis)
- Переопределяет:
-
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— текущее распределение области представления - Возвращает:
- фрагмент представления, соответствующий заданному интервалу, если представление допускает разбиение; если разбиение не поддерживается, возвращается само представление
- См. также:
getBreakWeight
public int getBreakWeight(int axis, float len)
Представления ParagraphView можно разбивать только вдоль Y_AXIS и только если len находится после первой строки. Если длина меньше одной строки, возвращается значение BadBreakWeight.
- Параметры:
-
axis— может бытьView.X_AXISилиView.Y_AXIS -
len— указывает желаемое место возможного разрыва >= 0 - Возвращает:
- значение, указывающее предпочтительность переноса в этом месте:
GoodBreakWeightилиBadBreakWeight - См. также:
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недопустим - См. также:
changedUpdate
public void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
- Переопределяет:
-
changedUpdateв классеFlowView - Параметры:
-
changes— сведения об изменении из связанного документа -
a— текущее распределение области представления -
f— фабрика для перестроения представления, если у него есть дочерние элементы - См. также:
© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/text/ParagraphView.html