Класс WrappedPlainView
- java.lang.Object
-
- javax.swing.text.View
-
- javax.swing.text.CompositeView
-
- javax.swing.text.BoxView
-
- javax.swing.text.WrappedPlainView
- Все реализуемые интерфейсы:
- SwingConstants, TabExpander
public class WrappedPlainView extends BoxView implements TabExpander
Представление простого текста (текста с одним шрифтом и цветом), выполняющее перенос строк. Данное представление ожидает, что его связанный элемент содержит дочерние элементы, представляющие строки, которые должны быть переносимы. Оно реализовано как вертикальная область, содержащая логические представления строк. Логические представления строк являются вложенными классами, которые отображают логическую строку как несколько физических строк, если логическая строка слишком широка, чтобы уместиться в выделении. Представления строк используют состояние внешнего класса для уменьшения потребления памяти.
Представления строк выполняют всю отрисовку через метод drawLine, который, в свою очередь, выполняет всю отрисовку через методы drawSelectedText и drawUnselectedText. Это позволяет подклассам легко специализировать отрисовку, не беспокоясь о аспектах макета.
- См. также:
View
Поля
Поля, унаследованные от класса 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 Конструкторы
| Конструктор и описание |
|---|
WrappedPlainView(Element elem) Создаёт новый WrappedPlainView. |
WrappedPlainView(Element elem,
boolean wordWrap) Создаёт новый WrappedPlainView. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
protected int |
calculateBreakPosition(int p0,
int p1) Вызывается вложенными представлениями обернутых строк для определения местоположения разрыва. |
void |
changedUpdate(DocumentEvent e,
Shape a,
ViewFactory f) Предоставляет уведомление от документа о том, что атрибуты были изменены в месте, за которое отвечает это представление. |
protected void |
drawLine(int p0,
int p1,
Graphics g,
int x,
int y) Отображает строку текста, подавляя пробелы в конце и расширяя табуляцию. |
protected int |
drawSelectedText(Graphics g,
int x,
int y,
int p0,
int p1) Отображает заданный диапазон в модели как выделенный текст. |
protected int |
drawUnselectedText(Graphics g,
int x,
int y,
int p0,
int p1) Отображает заданный диапазон в модели как обычный невыделенный текст. |
protected Segment |
getLineBuffer() Предоставляет доступ к буферу, который может быть использован для извлечения текста из связанного документа. |
float |
getMaximumSpan(int axis) Определяет максимальный охват для этого представления по оси. |
float |
getMinimumSpan(int axis) Определяет минимальный охват для этого представления по оси. |
float |
getPreferredSpan(int axis) Определяет предпочтительный охват для этого представления по оси. |
protected int |
getTabSize() Возвращает размер табуляции, установленный для документа, по умолчанию равный 8. |
void |
insertUpdate(DocumentEvent e,
Shape a,
ViewFactory f) Предоставляет уведомление о том, что в документ был вставлен элемент в месте, за которое отвечает это представление. |
protected void |
loadChildren(ViewFactory f) Загружает все дочерние элементы для инициализации представления. |
float |
nextTabStop(float x,
int tabOffset) Возвращает следующую позицию отступа табуляции после заданной опорной позиции. |
void |
paint(Graphics g,
Shape a) Отображает с использованием заданной поверхности отображения и области на этой поверхности. |
void |
removeUpdate(DocumentEvent e,
Shape a,
ViewFactory f) Предоставляет уведомление о том, что из документа был удалён элемент в месте, за которое отвечает это представление. |
void |
setSize(float width,
float height) Устанавливает размер представления. |
Методы, унаследованные от класса javax.swing.text.BoxView
baselineLayout, baselineRequirements, calculateMajorAxisRequirements, calculateMinorAxisRequirements, childAllocation, flipEastAndWestAtEnds, forwardUpdate, getAlignment, getAxis, getChildAllocation, getHeight, getOffset, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, isLayoutValid, layout, layoutChanged, layoutMajorAxis, layoutMinorAxis, modelToView, paintChild, preferenceChanged, replace, setAxis, viewToModel Методы, унаследованные от класса javax.swing.text.CompositeView
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, getViewIndexAtPosition, 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 Конструкторы
WrappedPlainView
public WrappedPlainView(Element elem)
Создаёт новый WrappedPlainView. Строки будут переноситься на границах символов.
- Параметры:
-
elem- элемент, лежащий в основе представления
WrappedPlainView
public WrappedPlainView(Element elem,
boolean wordWrap) Создаёт новый WrappedPlainView. Строки могут переноситься на границах либо символов, либо слов, в зависимости от параметра wordWrap.
- Параметры:
-
elem- элемент, лежащий в основе представления -
wordWrap- следует ли переносить строки на границах слов?
Методы
getTabSize
protected int getTabSize()
Возвращает размер отступа, установленный для документа, по умолчанию равный 8.
- Возвращает:
- размер отступа
drawLine
protected void drawLine(int p0,
int p1,
Graphics g,
int x,
int y) Отображает строку текста, подавляя пробелы в конце и расширяя все символы табуляции. Реализация выполняется для вызовов методов drawUnselectedText и drawSelectedText, чтобы можно было настроить способ отображения выделенного и невыделенного текста.
- Параметры:
-
p0- начальное местоположение документа >= 0 -
p1- конечное местоположение документа >= p1 -
g- контекст графики -
x- начальная координата X >= 0 -
y- начальная координата Y >= 0 - См. также:
-
drawUnselectedText(java.awt.Graphics, int, int, int, int),drawSelectedText(java.awt.Graphics, int, int, int, int)
drawUnselectedText
protected int drawUnselectedText(Graphics g,
int x,
int y,
int p0,
int p1)
throws BadLocationException Отображает заданный диапазон в модели как обычный невыделенный текст.
- Параметры:
-
g- контекст графики -
x- начальная координата X >= 0 -
y- начальная координата Y >= 0 -
p0- начальная позиция в модели >= 0 -
p1- конечная позиция в модели >= p0 - Возвращает:
- координату X конца диапазона >= 0
- Исключения:
-
BadLocationException- если диапазон некорректен
drawSelectedText
protected int drawSelectedText(Graphics g,
int x,
int y,
int p0,
int p1)
throws BadLocationException Отображает заданный диапазон в модели как выделенный текст. Эта реализация отображает текст в цвете, заданном в родительском компоненте. Предполагается, что выделение фона будет отрисовываться выделением.
- Параметры:
-
g- контекст графики -
x- начальная координата X >= 0 -
y- начальная координата Y >= 0 -
p0- начальная позиция в модели >= 0 -
p1- конечная позиция в модели >= p0 - Возвращает:
- координату конца диапазона
- Исключения:
-
BadLocationException- если диапазон некорректен
getLineBuffer
protected final Segment getLineBuffer()
Предоставляет доступ к буферу, который можно использовать для извлечения текста из связанного документа.
- Возвращает:
- буфер
calculateBreakPosition
protected int calculateBreakPosition(int p0,
int p1) Вызывается вложенными представлениями строк для определения места разрыва. Это можно переопределить для изменения поведения разрыва. Разрыв будет выполняться либо по границам слов, либо по границам символов, в зависимости от параметра break, заданного при создании.
loadChildren
protected void loadChildren(ViewFactory f)
Загружает всех дочерних элементов для инициализации представления. Вызывается методом setParent. Подклассы могут переопределить этот метод, чтобы инициализировать свои дочерние представления иным образом. По умолчанию для каждого дочернего элемента создается дочернее представление.
- Переопределяет:
-
loadChildrenв классеCompositeView - Параметры:
-
f- фабрика представлений - См. также:
CompositeView.setParent(javax.swing.text.View)
nextTabStop
public float nextTabStop(float x,
int tabOffset) Возвращает следующее положение отступа после заданной опорной позиции. Эта реализация не поддерживает такие вещи, как центрирование, поэтому она игнорирует аргумент tabOffset.
- Определено в:
-
nextTabStopв интерфейсеTabExpander - Параметры:
-
x- текущая позиция >= 0 -
tabOffset- позиция в потоке текста, в которой произошел отступ >= 0. - Возвращает:
- позицию отступа, измеренную в пунктах >= 0
paint
public void paint(Graphics g,
Shape a) Отображает с использованием заданной поверхности и области на ней. Эта реализация сохраняет позиции выделения, цвета выделения и метрики шрифта, которые будут использоваться вложенными строками.
- Переопределяет:
-
paintв классеBoxView - Параметры:
-
g- поверхность отображения, которую нужно использовать -
a- выделенная область для отображения - См. также:
View.paint(java.awt.Graphics, java.awt.Shape)
setSize
public void setSize(float width,
float height) Устанавливает размер представления. Это должно привести к макетированию представления вдоль заданной оси, если у него есть какие-либо обязанности по макетированию.
getPreferredSpan
public float getPreferredSpan(int axis)
Определяет предпочтительную длину для этого представления по оси. Это реализовано для обеспечения поведения суперкласса после предварительного кэширования текущих метрик шрифта (для вложенных строк, которые используют метрики для определения высоты потенциально переносимых строк).
- Переопределяет:
-
getPreferredSpanв классеBoxView - Параметры:
-
axis- может быть либо View.X_AXIS, либо View.Y_AXIS - Возвращает:
- длину, которую представление хотело бы отображать. Как правило, представлению говорят отображаться в указанную длину, хотя нет никакой гарантии. Родительский элемент может выбрать изменение размера или разрыв представления.
- См. также:
View.getPreferredSpan(int)
getMinimumSpan
public float getMinimumSpan(int axis)
Определяет минимальную длину для этого представления по оси. Это реализовано для обеспечения поведения суперкласса после предварительного кэширования текущих метрик шрифта (для вложенных строк, которые используют метрики для определения высоты потенциально переносимых строк).
- Переопределяет:
-
getMinimumSpanв классеBoxView - Параметры:
-
axis- может быть либо View.X_AXIS, либо View.Y_AXIS - Возвращает:
- длину, которую представление хотело бы отображать. Как правило, представлению говорят отображаться в указанную длину, хотя нет никакой гарантии. Родительский элемент может выбрать изменение размера или разрыв представления.
- См. также:
View.getMinimumSpan(int)
getMaximumSpan
public float getMaximumSpan(int axis)
Определяет максимальную длину для этого представления по оси. Это реализовано для обеспечения поведения суперкласса после предварительного кэширования текущих метрик шрифта (для вложенных строк, которые используют метрики для определения высоты потенциально переносимых строк).
- Переопределяет:
-
getMaximumSpanв классеBoxView - Параметры:
-
axis- может быть либо View.X_AXIS, либо View.Y_AXIS - Возвращает:
- длину, которую представление хотело бы отображать. Как правило, представлению говорят отображаться в указанную длину, хотя нет никакой гарантии. Родительский элемент может выбрать изменение размера или разрыв представления.
- См. также:
View.getMaximumSpan(int)
insertUpdate
public void insertUpdate(DocumentEvent e,
Shape a,
ViewFactory f) Предоставляет уведомление о том, что что-то было вставлено в документ в позиции, за которую это представление отвечает. Реализация выполнена просто для обновления дочерних элементов.
- Переопределяет:
-
insertUpdateв классеView - Параметры:
-
e- информация об изменениях из связанного документа -
a- текущее выделение представления -
f- фабрика, которую нужно использовать для перестроения, если у представления есть дочерние элементы - См. также:
View.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
removeUpdate
public void removeUpdate(DocumentEvent e,
Shape a,
ViewFactory f) Предоставляет уведомление о том, что что-то было удалено из документа в позиции, за которую это представление отвечает. Реализация выполнена просто для обновления дочерних элементов.
- Переопределяет:
-
removeUpdateв классеView - Параметры:
-
e- информация об изменениях из связанного документа -
a- текущее выделение представления -
f- фабрика, которую нужно использовать для перестроения, если у представления есть дочерние элементы - См. также:
View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
changedUpdate
public void changedUpdate(DocumentEvent e,
Shape a,
ViewFactory f) Предоставляет уведомление от документа о том, что атрибуты были изменены в позиции, за которую это представление отвечает.
- Переопределяет:
-
changedUpdateв классеView - Параметры:
-
e- информация об изменениях из связанного документа -
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.