Вид класса
- Все реализованные интерфейсы:
SwingConstants
- Непосредственные подклассы:
-
AsyncBoxView,ComponentView,CompositeView,GlyphView,IconView,ImageView,PlainView
public abstract class View extends Object implements SwingConstants
Важной частью пакета text является класс View. Как следует из названия, он представляет собой вид модели текста или фрагмент модели текста. Именно этот класс отвечает за отображение компонента текста. Вид не предназначен для представления чего-то совершенно нового, что нужно изучать, а скорее подобен легковесному компоненту.
По умолчанию вид очень легкий. Он содержит ссылку на родительский вид, из которого он может извлекать много чего без хранения состояния, и ссылку на часть модели (Element). Вид не обязан точно представлять элемент в модели, это просто типичное и поэтому удобное отображение. В качестве альтернативы вид может хранить пару объектов Position для поддержания своего местоположения в модели (т.е. представлять фрагмент элемента). Это, как правило, результат форматирования, когда виды были разбиты на части. Удобство существенной связи с элементом упрощает создание фабрик для создания видов и упрощает отслеживание фрагментов вида по мере изменения модели и необходимости изменения вида для отражения модели. Простые виды, следовательно, непосредственно представляют элемент, а сложные виды — нет.
Вид выполняет следующие задачи:
- Участие в макете.
-
Вид имеет метод
setSize, который подобен методамdoLayoutиsetSizeвComponentв совокупности. Вид имеет методpreferenceChanged, который похож наinvalidateвComponent, за исключением того, что можно проигнорировать только одну ось, и идентифицируется дочерний элемент, запросивший изменение.Вид выражает желаемый размер в терминах трех значений: минимального, предпочтительного и максимального размера. Макет в виде может выполняться независимо по каждой оси. Для правильной реализации View минимальный размер будет меньше или равен предпочтительному, который в свою очередь будет меньше или равен максимальному размеру.
Минимальный набор методов для макета:
Метод
setSizeдолжен быть готов к вызову несколько раз (т.е. он может вызываться даже если размер не изменился). МетодsetSizeобычно вызывается для того, чтобы убедиться, что макет View завершен перед выполнением операции над ним, требующей обновленного макета. Размер вида всегда должен устанавливаться в значение, находящееся между минимальным и максимальным размерами, заданными этим видом. Кроме того, вид всегда должен вызывать методpreferenceChangedв родительском элементе, если он изменил значения макета, которые он хотел, и ожидает, что родительский элемент их учтет. Родительский View не обязан распознавать изменение, пока не будет отправленpreferenceChanged. Это позволяет реализациям родительского View кешировать требования дочерних элементов, если это необходимо. Последовательность вызовов выглядит примерно так:Точная последовательность вызовов зависит от функциональности макета родительского вида (если у вида есть дочерние элементы). Вид может собрать предпочтения дочерних элементов перед тем, как определить, что он даст каждому дочернему элементу, или он может итеративно обновлять дочерние элементы по одному.
- Отображение части модели.
-
Это делается в методе paint, который очень похож на метод paint компонента. Ожидается, что виды могут потенциально заполнять довольно большое дерево. У
Viewесть следующие семантики для рендеринга:- Вид получает свое выделение от родительского элемента во время рисования, поэтому он должен быть готов повторно выполнить макет, если выделенная область отличается от того, с чем он готов справиться.
- Система координат совпадает с системой координат размещающего
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 |
Ось для операций форматирования/разрыва. |
Поля, объявленные в интерфейсе 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
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
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 |
Предоставляет отображение из пространства координат представления в логическое пространство координат модели. |
Подробное описание полей
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
public static final int X_AXIS
- См. также:
Ось Y
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. - Parameters:
-
v- отображаемый вид - Since:
- 1.3
- See Also:
replace
public void replace(int offset, int length, View[] views)
null, и внутренняя ссылка на них будет удалена, чтобы они могли быть удалены сборщиком мусора. Это реализовано как пустая операция, потому что по умолчанию у представления нет дочерних элементов.- Parameters:
-
offset- начальный индекс в дочерних представлениях для вставки новых представлений. Это значение должно быть >= 0 и <= getViewCount -
length- количество существующих дочерних представлений для удаления. Это значение должно быть >= 0 и <= (getViewCount() - offset). -
views- дочерние представления для добавления. Это значение может бытьnull, чтобы указать, что дочерние элементы не добавляются (полезно для удаления). - Since:
- 1.3
getViewIndex
public int getViewIndex(int pos, Position.Bias b)
- Parameters:
-
pos- позиция >= 0 -
b- смещение - Returns:
- индекс представления, представляющего данную позицию, или -1, если такое представление отсутствует
- Since:
- 1.3
getChildAllocation
public Shape getChildAllocation(int index, Shape a)
null, так как по умолчанию дочерних представлений нет.- Parameters:
-
index- индекс дочернего элемента, >= 0 и <getViewCount() -
a- выделение для этого представления - Returns:
- выделение для дочернего элемента
getNextVisualPositionFrom
public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException
BadLocationException. - Parameters:
-
pos- позиция для преобразования -
b- смещение -
a- выделенная область для рендеринга -
direction- направление от текущей позиции, которое можно рассматривать как клавиши со стрелками на клавиатуре. Это будет одно из следующих значений:- SwingConstants.WEST
- SwingConstants.EAST
- SwingConstants.NORTH
- SwingConstants.SOUTH
-
biasRet- возвращаемое смещение - Returns:
- позиция в модели, которая наилучшим образом представляет следующую визуальную позицию
- Throws:
-
BadLocationException- заданная позиция не является допустимой позицией в документе -
IllegalArgumentException- еслиdirectionне имеет одного из допустимых значений выше
modelToView
public abstract Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
- Parameters:
-
pos- позиция желаемого символа (>=0) -
a- область представления, которая охватывает запрашиваемый символ -
b- смещение в сторону предыдущего символа или следующего символа, в случае, если позиция является границей двух представлений;bбудет иметь одно из этих значений:-
Position.Bias.Forward -
Position.Bias.Backward
-
- Returns:
- прямоугольник, в координатах представления, символа в указанной позиции
- Throws:
-
BadLocationException- если указанная позиция не представляет допустимое местоположение в связанном документе -
IllegalArgumentException- еслиbне имеет одного из допустимых значенийPosition.Biasуказанных выше - See Also:
modelToView
public Shape modelToView(int p0, Position.Bias b0, int p1, Position.Bias b1, Shape a) throws BadLocationException
- Parameters:
-
p0- позиция первого символа (>=0) -
b0- смещение первой позиции символа, в сторону предыдущего символа или следующего символа, в случае, если позиция является границей двух представлений;b0будет иметь одно из этих значений:-
Position.Bias.Forward -
Position.Bias.Backward
-
-
p1- позиция последнего символа (>=0) -
b1- смещение для второй позиции символа, определённое одним из допустимых значений, указанных выше -
a- область представления, которая охватывает запрашиваемый диапазон - Returns:
- прямоугольник, который является объединением области, заданной позициями первого и последнего символов
- Throws:
-
BadLocationException- если заданная позиция не представляет допустимое местоположение в связанном документе -
IllegalArgumentException- еслиb0илиb1не имеют одного из допустимых значенийPosition.Bias, указанных выше - See Also:
viewToModel
public abstract int viewToModel(float x, float y, Shape a, Position.Bias[] biasReturn)
biasReturn будет заполнен, чтобы указать, что заданная точка ближе к следующему символу в модели или к предыдущему символу в модели.- Parameters:
-
x- координата X >= 0 -
y- координата Y >= 0 -
a- выделенная область для рендеринга -
biasReturn- возвращаемое смещение - Returns:
- позиция в модели, которая наилучшим образом представляет данную точку в представлении >= 0. Аргумент
biasReturnбудет заполнен, чтобы указать, что заданная точка ближе к следующему символу в модели или к предыдущему символу в модели.
insertUpdate
public void insertUpdate(DocumentEvent e, Shape a, ViewFactory f)
-
updateChildrenвызывается, если были изменения в элементе, за который отвечает это представление. Если у этого представления есть дочерние представления, которые представляют дочерние элементы, то этот метод должен сделать все необходимое, чтобы убедиться, что дочерние представления правильно представляют модель. -
forwardUpdateвызывается для передачи DocumentEvent соответствующим дочерним представлениям. -
updateLayoutвызывается, чтобы дать представлению возможность либо исправить свой макет, перепланировать его, либо ничего не делать.
- Parameters:
-
e- информация о изменениях из связанного документа -
a- текущее выделение представления -
f- фабрика для использования при перестроении, если у представления есть дочерние элементы - See Also:
removeUpdate
public void removeUpdate(DocumentEvent e, Shape a, ViewFactory f)
-
updateChildrenвызывается, если произошли изменения в элементе, за который отвечает этот вид. Если у этого вида есть дочерние представления, которые представляют дочерние элементы, то этот метод должен выполнить необходимые действия, чтобы убедиться, что дочерние представления корректно отображают модель. -
forwardUpdateвызывается для передачи DocumentEvent соответствующим дочерним представлениям. -
updateLayoutвызывается, чтобы дать представлению возможность либо исправить его макет, перепланировать макет, либо ничего не делать.
- Parameters:
-
e- информация о изменении из связанного документа -
a- текущее размещение представления -
f- фабрика для использования при перестроении, если у представления есть дочерние элементы - See Also:
changedUpdate
public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
-
updateChildrenвызывается, если произошли изменения в элементе, за который отвечает это представление. Если у этого представления есть дочерние представления, которые представляют дочерние элементы, то этот метод должен выполнить необходимые действия, чтобы убедиться, что дочерние представления корректно отображают модель. -
forwardUpdateвызывается для передачи DocumentEvent соответствующим дочерним представлениям. -
updateLayoutвызывается, чтобы дать представлению возможность либо исправить его макет, перепланировать макет, либо ничего не делать.
- Parameters:
-
e- информация о изменении из связанного документа -
a- текущее размещение представления -
f- фабрика для использования при перестроении, если у представления есть дочерние элементы - See Also:
getDocument
public Document getDocument()
- Returns:
- модель представления,
nullесли нет
getStartOffset
public int getStartOffset()
- Returns:
- начальный смещение в модели >= 0
- See Also:
getEndOffset
public int getEndOffset()
- Returns:
- конечное смещение в модели >= 0
- See Also:
getElement
public Element getElement()
- Returns:
- объект
getGraphics
public Graphics getGraphics()
Graphics для рендеринга. Это может быть использовано для определения характеристик шрифта и будет отличаться для представления печати от представления компонента.- Returns:
- объект
Graphicsдля рендеринга - Since:
- 1.3
getAttributes
public AttributeSet getAttributes()
AttributeSet возвращаемый этим методом.- Returns:
- атрибуты для использования при рендеринге
breakView
public View breakView(int axis, int offset, float pos, float len)
Этот метод реализован для возвращения самого представления, что соответствует поведению по умолчанию в случае невозможности разбиения. Если представление поддерживает разбиение, начальное смещение возвращаемого представления должно быть заданным смещением, а конечное смещение должно быть меньше или равно конечному смещению разбиваемого представления.
- Parameters:
-
axis- может быть либоView.X_AXIS, либоView.Y_AXIS -
offset- расположение в модели документа, которое занимал бы разбитый фрагмент >= 0. Это было бы начальное смещение возвращаемого фрагмента -
pos- положение вдоль оси, которое занимал бы разбитое представление >= 0. Это может быть полезно для расчетов табуляции -
len- указывает расстояние вдоль оси, где желательно потенциальное разбиение >= 0 - Returns:
- фрагмент представления, который представляет заданный диапазон, если представление может быть разделено. Если представление не поддерживает поведение разбиения, возвращается само представление.
- See Also:
createFragment
public View createFragment(int p0, int p1)
- Parameters:
-
p0- начальное смещение >= 0. Это должно быть значение, большее или равное начальному смещению элемента и меньше конечного смещения элемента. -
p1- конечное смещение > p0. Это должно быть значение, меньшее или равное конечному смещению элемента и больше начального смещения элемента. - Returns:
- фрагмент представления или само представление, если представление не поддерживает разделение на фрагменты
- See Also:
getBreakWeight
public int getBreakWeight(int axis, float pos, float len)
breakView в процессе форматирования. Например, представление текста, содержащего пробелы, может быть более привлекательным, чем представление без пробелов. Чем выше вес, тем более привлекательно разбиение. Значение, равное или меньшее BadBreakWeight, не должно рассматриваться как возможность разбиения. Значение, большее или равное ForcedBreakWeight, должно быть разделено. Этот метод реализован для предоставления поведения по умолчанию, возвращающего BadBreakWeight, если длина больше длины представления, в этом случае всё представление представляет фрагмент. Если представление не было написано для поддержки поведения разбиения, то оно не привлекательно для попытки разбить представление. Примером представления, поддерживающего разбиение, является LabelView. Примером представления, использующего вес разбиения, является ParagraphView.
- Parameters:
-
axis- может быть либоView.X_AXIS, либоView.Y_AXIS -
pos- потенциальное расположение начала разбитого представления >= 0. Это может быть полезно для расчета позиций табуляции -
len- определяет относительную длину от pos, где желательно потенциальное разбиение >= 0 - Returns:
- вес, который должен быть значением между ForcedBreakWeight и BadBreakWeight
- See Also:
getResizeWeight
public int getResizeWeight(int axis)
- Parameters:
-
axis- может быть либоView.X_AXISилиView.Y_AXIS - Returns:
- значение веса
setSize
public void setSize(float width, float height)
- Parameters:
-
width- ширина, >= 0 -
height- высота, >= 0
getContainer
public Container getContainer()
- Returns:
- контейнер,
nullесли нет
getViewFactory
public ViewFactory getViewFactory()
ViewFactory , которая питает иерархию представлений. Обычно представления получают это значение в качестве аргумента для обновлений из модели, когда они, скорее всего, нуждаются в фабрике, но этот метод предоставляет её в другие моменты.- Returns:
- фабрика,
nullесли нет
getToolTipText
public String getToolTipText(float x, float y, Shape allocation)
- Parameters:
-
x- координата x -
y- координата y -
allocation- текущее выделение представления. - Returns:
- текст подсказки в указанной позиции
- Since:
- 1.4
- See Also:
getViewIndex
public int getViewIndex(float x, float y, Shape allocation)
x, y. - Parameters:
-
x- координата x -
y- координата y -
allocation- текущее выделение представления. - Returns:
- индекс представления, представляющего данную позицию, или -1, если представление не соответствует этой позиции
- Since:
- 1.4
updateChildren
protected boolean updateChildren(DocumentEvent.ElementChange ec, DocumentEvent e, ViewFactory f)
ViewFactory используется для создания дочерних представлений для каждого элемента, указанного как добавленный в ElementChange, начиная с индекса, указанного в данном ElementChange. Количество дочерних представлений, представляющих удаленные элементы, удаляется.- Parameters:
-
ec- информация об изменении для элемента, за который отвечает это представление. Это не должно бытьnullпри вызове этого метода -
e- информация об изменении из связанного документа -
f- фабрика для построения дочерних представлений - Returns:
- отображает ли дочерние представления дочерние элементы элемента, за который отвечает это представление. Некоторые представления создают дочерние элементы, которые представляют часть элемента, за который они отвечают, и должны возвращать false. Эта информация используется для определения того, нужно ли пересылать представления в диапазоне добавленных элементов или нет
- Since:
- 1.3
- See Also:
forwardUpdate
protected void forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory f)
DocumentEvent дочерним представлениям, которые должны быть уведомлены об изменениях в модели. Если были изменения в элементе, за который отвечает это представление, это следует учитывать при пересылке (то есть новые дочерние представления не должны получать уведомления).- Parameters:
-
ec- изменения в элементе, за который отвечает это представление (может бытьnullесли изменений не было). -
e- информация об изменении из связанного документа -
a- текущее выделение представления -
f- фабрика для повторного построения, если у представления есть дочерние элементы - Since:
- 1.3
- See Also:
forwardUpdateToView
protected void forwardUpdateToView(View v, DocumentEvent e, Shape a, ViewFactory f)
DocumentEvent заданному дочернему представлению. Это просто посылает представлению сообщение с вызовом insertUpdate, removeUpdate, или changedUpdate в зависимости от типа события. Это вызывается forwardUpdate для пересылки события дочерним элементам, которым это нужно.- Parameters:
-
v- дочернее представление, которому нужно переслать событие -
e- информация об изменении из связанного документа -
a- текущее выделение представления -
f- фабрика для повторного построения, если у представления есть дочерние элементы - Since:
- 1.3
- See Also:
updateLayout
protected void updateLayout(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a)
preferenceChanged для перепланирования нового макета, если запись об изменении ElementChange не null. - Parameters:
-
ec- изменения в элементе, за который отвечает это представление (может бытьnullесли изменений не было) -
e- информация об изменении из связанного документа -
a- текущее выделение представления - Since:
- 1.3
- See Also:
modelToView
@Deprecated public Shape modelToView(int pos, Shape a) throws BadLocationException
Position.Bias.Forward, что подразумевалось ранее.- Parameters:
-
pos- позиция для преобразования >= 0 -
a- выделенная область для рендеринга - Returns:
- возвращается ограничивающая рамка данной позиции
- Throws:
-
BadLocationException- если данная позиция не представляет действительного местоположения в связанном документе - See Also:
viewToModel
@Deprecated public int viewToModel(float x, float y, Shape a)
- Parameters:
-
x- координата X >= 0 -
y- координата Y >= 0 -
a- выделенная область для рендеринга - Returns:
- позиция в модели, которая лучше всего представляет данную точку в представлении >= 0
- See Also:
© 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/View.html