Класс View
- Все реализуемые интерфейсы:
SwingConstants
- Прямые известные подклассы:
AsyncBoxView, ComponentView, CompositeView, GlyphView, IconView, ImageView, PlainView
public abstract class View extends Object implements SwingConstants
Очень важной частью пакета текста является класс View. Как следует из названия, он представляет представление текстовой модели или ее части. Именно этот класс отвечает за внешний вид текстового компонента. Представление не предназначено для того, чтобы быть чем-то совершенно новым, что нужно изучать; скорее, оно похоже на облегченный компонент.
По умолчанию представление очень легковесно. Оно содержит ссылку на родительское представление, из которого может получать многие данные, не сохраняя состояние, а также ссылку на часть модели (Element). Представление не обязано точно соответствовать элементу модели — это лишь типичное и потому удобное соответствие. В качестве альтернативы представление может поддерживать несколько объектов Position, чтобы сохранять свое расположение в модели (то есть представлять фрагмент элемента). Обычно это результат форматирования, при котором представления разбиваются на части. Существенная связь с элементом удобна тем, что упрощает создание фабрик для представлений и отслеживание их частей при изменении модели, когда представление также требуется обновить. Поэтому простые представления напрямую соответствуют элементу, а сложные — нет.
Представление отвечает за следующее:
- Участвовать в компоновке.
-
У представления есть метод
setSize, подобный комбинацииdoLayoutиsetSizeвComponent. У представления также есть методpreferenceChanged, подобный методуinvalidateвComponent, за исключением того, что можно сделать недействительной только одну ось, а дочерний элемент, запросивший изменение, определяется явно.Представление выражает желаемый размер тремя значениями: минимальным, предпочтительным и максимальным размером. Компоновка в представлении может выполняться независимо по каждой оси. Для корректно работающей реализации View минимальный размер должен быть <= предпочтительного размера, который, в свою очередь, должен быть <= максимального размера.
Минимальный набор методов для компоновки:
Метод
setSizeдолжен быть готов к многократному вызову (то есть он может быть вызван, даже если размер не изменился). МетодsetSizeобычно вызывается, чтобы убедиться, что компоновка View завершена, прежде чем выполнять операцию, требующую актуальной компоновки. Размер представления всегда должен находиться в пределах минимального и максимального размеров, заданных этим представлением. Кроме того, если представление изменило значения, определяющие желаемую компоновку, и рассчитывает, что родитель учтет их, оно всегда должно вызывать методpreferenceChangedу родителя. Родительское представление не обязано учитывать изменение до полученияpreferenceChanged. Это позволяет реализациям родительского View при необходимости кэшировать требования дочерних элементов. Последовательность вызовов выглядит примерно так:Точная последовательность вызовов определяется функциональностью компоновки родительского представления (если у него есть дочерние элементы). Представление может собрать предпочтения дочерних элементов, прежде чем определить, какой размер предоставить каждому из них, или может итеративно обновлять дочерние элементы по одному.
- Отображать часть модели.
-
Это выполняется в методе paint, который во многом похож на метод paint компонента. Предполагается, что представления могут образовывать довольно большое дерево. Для
Viewпри отображении действуют следующие правила:- Во время вызова paint представление получает область от родителя, поэтому оно должно быть готово повторно выполнить компоновку, если выделенная область отличается от той, с которой оно готово работать.
- Используется та же система координат, что и у содержащего
Component(то есть уComponent, возвращаемого методомgetContainer). Это означает, что дочернее представление находится в той же системе координат, что и родительское, если родитель явно не изменил систему координат. Чтобы запланировать перерисовку, представление может вызвать repaint у содержащего егоComponent. - По умолчанию дочерние элементы не обрезаются. Эффективнее позволить представлению выполнять обрезку только в том случае, если оно действительно считает ее необходимой.
- Переданный объект
Graphicsникак не инициализирован. Представление должно задать все необходимые параметры. - Объект
Viewпо своей природе прозрачен. Хотя представление может отображать содержимое во всей выделенной ему области, обычно оно этого не делает. Отображение выполняется обходом дерева реализацийView. КаждаяViewотвечает за отображение своих дочерних элементов. Это поведение необходимо для обеспечения потокобезопасности. Хотя реализации представлений не обязательно должны учитывать потокобезопасность, другие реализации представлений, использующие параллелизм, могут полагаться на обход дерева, гарантирующий потокобезопасность. - Порядок представлений относительно модели определяется реализацией. Хотя дочерние представления обычно располагаются в том же порядке, в каком они встречаются в модели, визуально они могут располагаться совершенно иначе. Если дочерние элементы перекрываются, реализации представлений могут иметь связанный с ними Z-порядок.
Методы для отображения:
- Преобразовывать координаты модели и представления.
-
Поскольку объекты представлений создаются фабрикой и поэтому не обязательно располагаются в определенном порядке, для правильного определения пространственного представления модели необходимо выполнять преобразования. Для этого используются следующие методы:
Перед выполнением преобразования компоновка должна быть актуальной. Преобразование недействительно, и его нельзя выполнять, пока модель рассылает изменения через
DocumentEvent. - Реагировать на изменения модели.
-
Если общее представление состоит из множества частей (это предпочтительный вариант, если нужно иметь возможность изменять представление, написав как можно меньше нового кода), использование большого числа объектов
DocumentListenerбыло бы непрактичным. Если бы каждое представление отслеживало модель, изменения, рассылаемые в любой момент времени, были бы интересны лишь немногим из них. Поскольку модель ничего не знает о представлениях, она не может фильтровать рассылку сведений об изменениях. Вместо этого за распространение сведений об изменениях отвечает сама иерархия представлений. На каждом уровне иерархии представление знает о своих дочерних элементах достаточно, чтобы оптимально распределить сведения об изменениях дальше. Поэтому рассылка изменений начинается с корня иерархии представлений. Для этого используются следующие методы:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
BadBreakWeight |
Вес, указывающий, что представление является неудачным местом для разрыва при форматировании. |
static final int |
ExcellentBreakWeight |
Вес, указывающий, что представление поддерживает разрыв и является особенно подходящим местом для него. |
static final int |
ForcedBreakWeight |
Вес, указывающий, что представление поддерживает разрыв и его необходимо разбить, чтобы корректно представить в представлении, которое форматирует дочерние элементы, разбивая их. |
static final int |
GoodBreakWeight |
Вес, указывающий, что представление поддерживает разрыв, однако, вероятно, существуют более подходящие места. |
static final int |
X_AXIS |
Ось для операций форматирования/разрыва. |
static final int |
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 | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
BOTTOM |
Константа ориентации блока, задающая его нижнюю сторону. |
static final int |
CENTER |
Центральная позиция в области. |
static final int |
EAST |
Направление по компасу: восток (справа). |
static final int |
HORIZONTAL |
Горизонтальная ориентация. |
static final int |
LEADING |
Определяет передний край текста для языков с направлением письма слева направо и справа налево. |
static final int |
LEFT |
Константа ориентации блока, задающая его левую сторону. |
static final int |
NEXT |
Определяет следующее направление в последовательности. |
static final int |
NORTH |
Направление по компасу: север (вверх). |
static final int |
NORTH_EAST |
Направление по компасу: северо-восток (вверху справа). |
static final int |
NORTH_WEST |
Направление по компасу: северо-запад (вверху слева). |
static final int |
PREVIOUS |
Определяет предыдущее направление в последовательности. |
static final int |
RIGHT |
Константа ориентации блока, задающая его правую сторону. |
static final int |
SOUTH |
Направление по компасу: юг (вниз). |
static final int |
SOUTH_EAST |
Направление по компасу: юго-восток (внизу справа). |
static final int |
SOUTH_WEST |
Направление по компасу: юго-запад (внизу слева). |
static final int |
TOP |
Константа ориентации блока, задающая его верхнюю сторону. |
static final int |
TRAILING |
Определяет задний край текста для языков с направлением письма слева направо и справа налево. |
static final int |
VERTICAL |
Вертикальная ориентация. |
static final int |
WEST |
Направление по компасу: запад (слева). |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
View |
Создает новый объект View. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
append |
Добавляет одно дочернее представление. |
View |
breakView |
Пытается разбить это представление по заданной оси. |
void |
changedUpdate |
Получает уведомление от документа об изменении атрибутов в области, за которую отвечает это представление. |
View |
createFragment |
Создает представление, соответствующее части элемента. |
protected void |
forwardUpdate |
Передает указанное DocumentEvent дочерним представлениям, которые необходимо уведомить об изменении модели. |
protected void |
forwardUpdateToView |
Передает DocumentEvent указанному дочернему представлению. |
float |
getAlignment |
Определяет желаемое выравнивание этого представления по оси. |
AttributeSet |
getAttributes() |
Получает атрибуты, используемые при отображении. |
int |
getBreakWeight |
Определяет, насколько подходящим является место разрыва в этом представлении. |
Shape |
getChildAllocation |
Получает область, выделенную для указанного дочернего представления. |
Container |
getContainer() |
Получает контейнер, в котором размещено представление. |
Document |
getDocument() |
Получает модель, связанную с представлением. |
Element |
getElement() |
Получает структурную часть объекта, которой соответствует это представление. |
int |
getEndOffset() |
Получает часть модели, за которую отвечает это представление. |
Graphics |
getGraphics() |
Получает Graphics для отображения. |
float |
getMaximumSpan |
Определяет максимальный размер этого представления по оси. |
float |
getMinimumSpan |
Определяет минимальный размер этого представления по оси. |
int |
getNextVisualPositionFrom |
Позволяет определить следующее визуально представленное местоположение в модели, в котором можно разместить каретку. |
View |
getParent() |
Возвращает родительское представление. |
abstract float |
getPreferredSpan |
Определяет предпочтительный размер этого представления по оси. |
int |
getResizeWeight |
Определяет возможность изменения размера представления по заданной оси. |
int |
getStartOffset() |
Получает часть модели, за которую отвечает это представление. |
String |
getToolTipText |
Возвращает текст всплывающей подсказки в указанном месте. |
View |
getView |
Получает n-е дочернее представление. |
int |
getViewCount() |
Возвращает количество представлений в этом представлении. |
ViewFactory |
getViewFactory() |
Получает реализацию ViewFactory, формирующую иерархию представлений. |
int |
getViewIndex |
Возвращает индекс дочернего представления, соответствующего заданной позиции в представлении. |
int |
getViewIndex |
Возвращает индекс дочернего представления, соответствующего заданной позиции в модели. |
void |
insert |
Вставляет одно дочернее представление. |
void |
insertUpdate |
Получает уведомление о вставке содержимого в документ в области, за которую отвечает это представление. |
boolean |
isVisible() |
Возвращает логическое значение, указывающее, видно ли представление. |
Shape |
modelToView |
Устарело. |
abstract Shape |
modelToView |
Для заданного символа преобразует координаты из пространства координат модели документа в пространство координат представления. |
Shape |
modelToView |
Для заданной области преобразует координаты из пространства координат модели документа в пространство координат представления. |
abstract void |
paint |
Отображает содержимое на заданной поверхности и в указанной области этой поверхности. |
void |
preferenceChanged |
Дочерние представления могут вызывать этот метод у родителя, чтобы сообщить об изменении предпочтений, которые следует повторно учесть при компоновке. |
void |
remove |
Удаляет одного из дочерних элементов в указанной позиции. |
void |
removeAll() |
Удаляет все дочерние элементы. |
void |
removeUpdate |
Получает уведомление об удалении содержимого из документа в области, за которую отвечает это представление. |
void |
replace |
Заменяет дочерние представления. |
void |
setParent |
Задает родительское представление для этого представления. |
void |
setSize |
Задает размер представления. |
protected boolean |
updateChildren |
Обновляет дочерние представления в ответ на уведомление об изменении модели, если запись об изменении относится к элементу, за который отвечает это представление. |
protected void |
updateLayout |
Обновляет компоновку в ответ на получение уведомления об изменении модели. |
int |
viewToModel |
Устарело. |
abstract int |
viewToModel |
Преобразует координаты из пространства координат представления в логическое пространство координат модели. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, подлежит удалению: этот элемент API будет удален в будущей версии. Метод финализации устарел и подлежит удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или interrupt либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или interrupt либо до истечения заданного промежутка реального времени. |
Подробное описание полей
BadBreakWeight
public static final int BadBreakWeight
- См. также:
GoodBreakWeight
public static final int GoodBreakWeight
- См. также:
ExcellentBreakWeight
public static final int ExcellentBreakWeight
- См. также:
ForcedBreakWeight
public static final int ForcedBreakWeight
- См. также:
X_AXIS
public static final int X_AXIS
- См. также:
Y_AXIS
public static final int Y_AXIS
- См. также:
Подробное описание конструкторов
View
public View(Element elem)
View.- Параметры:
-
elem—Elementдля представления
Подробное описание методов
getParent
public View getParent()
- Возвращает:
- родительский элемент или
null, если он отсутствует
isVisible
public boolean isVisible()
- Возвращает:
- всегда возвращает true
getPreferredSpan
public abstract float getPreferredSpan(int axis)
- Параметры:
-
axis— может бытьView.X_AXISилиView.Y_AXIS - Возвращает:
- размер, в который представление желательно отрисовать. Обычно представлению предписывается отрисовываться в возвращенном размере, однако это не гарантируется. Родительское представление может изменить размер или разбить представление
getMinimumSpan
public float getMinimumSpan(int axis)
- Параметры:
-
axis— может бытьView.X_AXISилиView.Y_AXIS - Возвращает:
- минимальный размер, в который можно отрисовать представление
- См. также:
getMaximumSpan
public float getMaximumSpan(int axis)
- Параметры:
-
axis— может бытьView.X_AXISилиView.Y_AXIS - Возвращает:
- максимальный размер, в который можно отрисовать представление
- См. также:
preferenceChanged
public void preferenceChanged(View child, boolean width, boolean height)
revalidate для связанного текстового компонента.- Параметры:
-
child— дочернее представление -
width— true, если изменилось предпочтение по ширине -
height— true, если изменилось предпочтение по высоте - См. также:
getAlignment
public float getAlignment(int axis)
- Параметры:
-
axis— может бытьView.X_AXISилиView.Y_AXIS - Возвращает:
- значение 0.5
paint
public abstract void paint(Graphics g, Shape allocation)
- Параметры:
-
g— поверхность для отрисовки -
allocation— выделенная область для отрисовки
setParent
public void setParent(View parent)
super.setParent().- Параметры:
-
parent— новый родительский элемент илиnull, если представление удаляется из родительского
getViewCount
public int getViewCount()
- Возвращает:
- количество представлений >= 0
getView
public View getView(int n)
null.- Параметры:
-
n— номер возвращаемого представления, >= 0 && < getViewCount() - Возвращает:
- представление
removeAll
public void removeAll()
replace.- Начиная с версии:
- 1.3
remove
public void remove(int i)
replace.- Параметры:
-
i— позиция - Начиная с версии:
- 1.3
insert
public void insert(int offs, View v)
replace.- Параметры:
-
offs— смещение представления, перед которым нужно выполнить вставку; >= 0 -
v— представление - Начиная с версии:
- 1.3
- См. также:
append
public void append(View v)
replace.- Параметры:
-
v— представление - Начиная с версии:
- 1.3
- См. также:
replace
public void replace(int offset, int length, View[] views)
null, а внутренняя ссылка на них удаляется, чтобы их можно было собрать сборщиком мусора. Реализация ничего не делает, поскольку по умолчанию у представления нет дочерних элементов.- Параметры:
-
offset— начальный индекс в списке дочерних представлений, куда нужно вставить новые представления. Значение должно быть >= 0 и <= getViewCount -
length— количество существующих дочерних представлений для удаления. Значение должно быть >= 0 и <= (getViewCount() - offset). -
views— добавляемые дочерние представления. Значение может бытьnull, что означает отсутствие добавляемых дочерних представлений (полезно для удаления). - Начиная с версии:
- 1.3
getViewIndex
public int getViewIndex(int pos, Position.Bias b)
- Параметры:
-
pos— позиция >= 0 -
b— смещение - Возвращает:
- индекс представления, соответствующего указанной позиции, или -1, если ни одно представление не соответствует этой позиции
- Начиная с версии:
- 1.3
getChildAllocation
public Shape getChildAllocation(int index, Shape a)
null, поскольку по умолчанию дочерних представлений нет.- Параметры:
-
index— индекс дочернего представления, >= 0 && <getViewCount() -
a— область, выделенная для этого представления - Возвращает:
- область, выделенная для дочернего представления
getNextVisualPositionFrom
public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException
BadLocationException.- Параметры:
-
pos— позиция для преобразования -
b— смещение -
a— выделенная область для отрисовки -
direction— направление от текущей позиции, соответствующее клавишам со стрелками на клавиатуре. Может принимать одно из следующих значений:- SwingConstants.WEST
- SwingConstants.EAST
- SwingConstants.NORTH
- SwingConstants.SOUTH
-
biasRet— возвращаемое смещение - Возвращает:
- позицию в модели, которая лучше всего соответствует следующей визуальной позиции
- Выбрасывает:
-
BadLocationException— указанная позиция не является допустимой позицией в документе -
IllegalArgumentException— еслиdirectionне имеет одного из указанных выше допустимых значений
modelToView
public abstract Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
- Параметры:
-
pos— позиция требуемого символа (>=0) -
a— область представления, содержащая запрошенный символ -
b— смещение в сторону предыдущего или следующего символа, соответствующего смещению, если позиция является границей двух представлений;bбудет иметь одно из следующих значений:-
Position.Bias.Forward -
Position.Bias.Backward
-
- Возвращает:
- ограничивающий прямоугольник символа в указанной позиции в координатном пространстве представления
- Выбрасывает:
-
BadLocationException— указанная позиция не соответствует допустимому месту в связанном документе -
IllegalArgumentException— еслиbне является одним из допустимых значенийPosition.Bias, перечисленных выше - См. также:
modelToView
public Shape modelToView(int p0, Position.Bias b0, int p1, Position.Bias b1, Shape a) throws BadLocationException
- Параметры:
-
p0— позиция первого символа (>=0) -
b0— смещение позиции первого символа в сторону предыдущего или следующего символа, соответствующего смещению, если позиция является границей двух представлений;b0будет иметь одно из следующих значений:-
Position.Bias.Forward -
Position.Bias.Backward
-
-
p1— позиция последнего символа (>=0) -
b1— смещение позиции второго символа, которое должно иметь одно из допустимых значений, указанных выше -
a— область представления, содержащая запрошенную область - Возвращает:
- ограничивающий прямоугольник, представляющий собой объединение областей, заданных позициями первого и последнего символов
- Выбрасывает:
-
BadLocationException— заданная позиция не соответствует допустимому месту в связанном документе -
IllegalArgumentException— еслиb0илиb1не являются одним из допустимых значенийPosition.Bias, перечисленных выше - См. также:
viewToModel
public abstract int viewToModel(float x, float y, Shape a, Position.Bias[] biasReturn)
biasReturn будет заполнен, чтобы указать, что заданная точка находится ближе к следующему или предыдущему символу в модели.- Параметры:
-
x— координата X >= 0 -
y— координата Y >= 0 -
a— выделенная область для отрисовки -
biasReturn— возвращаемое смещение - Возвращает:
- позиция в модели, которая лучше всего соответствует заданной точке в представлении, >= 0. Аргумент
biasReturnбудет заполнен, чтобы указать, что заданная точка находится ближе к следующему или предыдущему символу в модели.
insertUpdate
public void insertUpdate(DocumentEvent e, Shape a, ViewFactory f)
-
updateChildrenвызывается при любых изменениях элемента, за который отвечает это представление. Если у представления есть дочерние представления, соответствующие дочерним элементам, этот метод должен обеспечить корректное соответствие дочерних представлений модели. -
forwardUpdateвызывается для передачи DocumentEvent соответствующим дочерним представлениям. -
updateLayoutвызывается, чтобы дать представлению возможность исправить компоновку, запланировать ее повторное выполнение или ничего не делать.
- Параметры:
-
e— сведения об изменении из связанного документа -
a— текущая выделенная область представления -
f— фабрика для перестроения, если у представления есть дочерние элементы - См. также:
removeUpdate
public void removeUpdate(DocumentEvent e, Shape a, ViewFactory f)
-
updateChildrenвызывается при любых изменениях элемента, за который отвечает это представление. Если у представления есть дочерние представления, соответствующие дочерним элементам, этот метод должен обеспечить корректное соответствие дочерних представлений модели. -
forwardUpdateвызывается для передачи DocumentEvent соответствующим дочерним представлениям. -
updateLayoutвызывается, чтобы дать представлению возможность исправить компоновку, запланировать ее повторное выполнение или ничего не делать.
- Параметры:
-
e— сведения об изменении из связанного документа -
a— текущая выделенная область представления -
f— фабрика для перестроения, если у представления есть дочерние элементы - См. также:
changedUpdate
public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
-
updateChildrenвызывается при любых изменениях элемента, за который отвечает это представление. Если у представления есть дочерние представления, соответствующие дочерним элементам, этот метод должен обеспечить корректное соответствие дочерних представлений модели. -
forwardUpdateвызывается для передачи DocumentEvent соответствующим дочерним представлениям. -
updateLayoutвызывается, чтобы дать представлению возможность исправить компоновку, запланировать ее повторное выполнение или ничего не делать.
- Параметры:
-
e— сведения об изменении из связанного документа -
a— текущая выделенная область представления -
f— фабрика для перестроения, если у представления есть дочерние элементы - См. также:
getDocument
public Document getDocument()
- Возвращает:
- модель представления или
null, если она отсутствует
getStartOffset
public int getStartOffset()
- Возвращает:
- начальное смещение в модели >= 0
- См. также:
getEndOffset
public int getEndOffset()
- Возвращает:
- конечное смещение в модели >= 0
- См. также:
getElement
public Element getElement()
- Возвращает:
- объект
getGraphics
public Graphics getGraphics()
Graphics для отрисовки. Его можно использовать для определения характеристик шрифта; для печатного представления он будет отличаться от объекта для представления в компоненте.- Возвращает:
- объект
Graphicsдля отрисовки - Начиная с версии:
- 1.3
getAttributes
public AttributeSet getAttributes()
AttributeSet, возвращаемый этим методом.- Возвращает:
- атрибуты для использования при отрисовке
breakView
public View breakView(int axis, int offset, float pos, float len)
Реализация возвращает само представление, что соответствует поведению по умолчанию для представлений, которые нельзя разбить. Если представление поддерживает разбиение, начальное смещение возвращаемого представления должно совпадать с заданным смещением, а конечное смещение должно быть меньше или равно конечному смещению разбиваемого представления.
- Параметры:
-
axis— может иметь значениеView.X_AXISилиView.Y_AXIS -
offset— расположение в модели документа, которое занимал бы разбитый фрагмент >= 0. Это начальное смещение возвращаемого фрагмента -
pos— позиция вдоль оси, которую занимало бы разбитое представление >= 0. Это может быть полезно, например, при вычислении позиций табуляции -
len— задает расстояние вдоль оси, в котором требуется выполнить возможное разбиение >= 0 - Возвращает:
- фрагмент представления, соответствующий заданному диапазону, если представление можно разбить. Если представление не поддерживает разбиение, возвращается само представление.
- См. также:
createFragment
public View createFragment(int p0, int p1)
- Параметры:
-
p0— начальное смещение >= 0. Оно должно быть не меньше начального смещения элемента и меньше конечного смещения элемента. -
p1— конечное смещение > p0. Оно должно быть не больше конечного смещения элемента и больше начального смещения элемента. - Возвращает:
- фрагмент представления или само представление, если оно не поддерживает разбиение на фрагменты
- См. также:
getBreakWeight
public int getBreakWeight(int axis, float pos, float len)
breakView в процессе форматирования. Например, представление текста, содержащего пробелы, может быть предпочтительнее представления без пробелов. Чем больше вес, тем предпочтительнее разбиение. Значение, равное или меньшее BadBreakWeight, не следует рассматривать как точку разбиения. Значение, равное или большее ForcedBreakWeight, должно приводить к разбиению. Реализация по умолчанию возвращает BadBreakWeight, если только длина не превышает длину представления; в этом случае всё представление считается фрагментом. Если представление не реализовано с поддержкой разбиения, попытка разбить его нежелательна. Пример представления, поддерживающего разбиение, — LabelView. Пример представления, использующего вес разбиения, — ParagraphView.
- Параметры:
-
axis— может иметь значениеView.X_AXISилиView.Y_AXIS -
pos— возможное расположение начала разбитого представления >= 0. Может быть полезно для вычисления позиций табуляции -
len— задает относительную длину от pos, в которой требуется выполнить возможное разбиение >= 0 - Возвращает:
- вес, который должен иметь значение от ForcedBreakWeight до BadBreakWeight
- См. также:
getResizeWeight
public int getResizeWeight(int axis)
- Параметры:
-
axis— может иметь значениеView.X_AXISилиView.Y_AXIS - Возвращает:
- вес
setSize
public void setSize(float width, float height)
- Параметры:
-
width— ширина >= 0 -
height— высота >= 0
getContainer
public Container getContainer()
- Возвращает:
- контейнер или
null, если его нет
getViewFactory
public ViewFactory getViewFactory()
ViewFactory, используемую для построения иерархии представлений. Обычно представления получают ее в качестве аргумента при обновлении из модели, когда фабрика, вероятнее всего, им понадобится. Этот метод позволяет получить ее в другое время.- Возвращает:
- фабрику или
null, если ее нет
getToolTipText
public String getToolTipText(float x, float y, Shape allocation)
- Параметры:
-
x— координата x -
y— координата y -
allocation— текущее выделенное пространство представления. - Возвращает:
- текст всплывающей подсказки в указанном месте
- Начиная с:
- 1.4
- См. также:
getViewIndex
public int getViewIndex(float x, float y, Shape allocation)
x, y.- Параметры:
-
x— координата x -
y— координата y -
allocation— текущее выделенное пространство представления. - Возвращает:
- индекс представления, соответствующего заданному местоположению, или -1, если ни одно представление не соответствует этой позиции
- Начиная с:
- 1.4
updateChildren
protected boolean updateChildren(DocumentEvent.ElementChange ec, DocumentEvent e, ViewFactory f)
ViewFactory используется для создания дочерних представлений для каждого элемента, указанного как добавленный в ElementChange, начиная с индекса, указанного в ElementChange. Удаляются дочерние представления, соответствующие указанным удаленным элементам.- Параметры:
-
ec— сведения об изменении элемента, за который отвечает это представление. При вызове этого метода значение не должно бытьnull -
e— сведения об изменении из связанного документа -
f— фабрика для создания дочерних представлений - Возвращает:
- соответствуют ли дочерние представления дочерним элементам элемента, за который отвечает это представление. Некоторые представления создают дочерние элементы, соответствующие части элемента, за который они отвечают, и в этом случае должны возвращать false. Эти сведения используются, чтобы определить, следует ли передавать представлениям в диапазоне добавленных элементов уведомление
- Начиная с:
- 1.3
- См. также:
forwardUpdate
protected void forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory f)
DocumentEvent дочерним представлениям, которые необходимо уведомить об изменении модели. Если изменились элементы, за которые отвечает это представление, это следует учитывать при передаче уведомления (то есть новые дочерние представления не должны получать уведомление).- Параметры:
-
ec— изменения элемента, за который отвечает это представление (может бытьnull, если изменений не было). -
e— сведения об изменении из связанного документа -
a— текущее выделенное пространство представления -
f— фабрика для перестроения представления, если у него есть дочерние элементы - Начиная с:
- 1.3
- См. также:
forwardUpdateToView
protected void forwardUpdateToView(View v, DocumentEvent e, Shape a, ViewFactory f)
DocumentEvent указанному дочернему представлению. Для этого представлению отправляется сообщение с вызовом insertUpdate, removeUpdate или changedUpdate в зависимости от типа события. Метод вызывается из forwardUpdate для передачи события дочерним элементам, которым оно необходимо.- Параметры:
-
v— дочернее представление, которому нужно передать событие -
e— сведения об изменении из связанного документа -
a— текущее выделенное пространство представления -
f— фабрика для перестроения представления, если у него есть дочерние элементы - Начиная с:
- 1.3
- См. также:
updateLayout
protected void updateLayout(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a)
preferenceChanged, чтобы запланировать новую компоновку, если запись ElementChange не равна null.- Параметры:
-
ec— изменения элемента, за который отвечает это представление (может бытьnull, если изменений не было) -
e— сведения об изменении из связанного документа -
a— текущее выделенное пространство представления - Начиная с:
- 1.3
- См. также:
modelToView
@Deprecated public Shape modelToView(int pos, Shape a) throws BadLocationException
Position.Bias.Forward, которое ранее подразумевалось.- Параметры:
-
pos— преобразуемая позиция >= 0 -
a— выделенная область для отрисовки - Возвращает:
- ограничивающий прямоугольник заданной позиции
- Вызывает исключение:
-
BadLocationException— если заданная позиция не соответствует допустимому местоположению в связанном документе - См. также:
viewToModel
@Deprecated public int viewToModel(float x, float y, Shape a)
- Параметры:
-
x— координата X >= 0 -
y— координата Y >= 0 -
a— выделенная область для отрисовки - Возвращает:
- местоположение в модели, которое лучше всего соответствует заданной точке представления >= 0
- См. также:
© 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.