Класс GapContent
- Все реализуемые интерфейсы:
-
Serializable,AbstractDocument.Content
public class GapContent extends Object implements AbstractDocument.Content, Serializable
Отслеживание изменений также обычно недорогие. Реализации Position (метки) хранят индекс массива и могут легко рассчитать последовательную позицию из текущей позиции пробела. Изменения требуют только обновления меток между старой и новой границами пробела при перемещении пробела, поэтому обновление меток обычно недорогие. Метки хранятся в отсортированном порядке, поэтому их можно быстро найти с помощью двоичного поиска. Это увеличивает затраты на добавление метки и уменьшает затраты на обновление метки.
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
GapContent() |
Создаёт новый объект GapContent. |
GapContent |
Создаёт новый объект GapContent, с указанным начальным размером. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
allocateArray |
Выделение массива для хранения элементов соответствующего типа (который определяется подклассом). |
Position |
createPosition |
Создание позиции в содержании, которая будет отслеживать изменения при изменении содержимого. |
protected final Object |
getArray() |
Доступ к массиву. |
protected int |
getArrayLength() |
Получение длины выделенного массива. |
void |
getChars |
Извлечение части содержимого. |
protected final int |
getGapEnd() |
Доступ к концу пробела. |
protected final int |
getGapStart() |
Доступ к началу пробела. |
protected Vector |
getPositionsInRange |
Возвращает вектор, содержащий экземпляры UndoPosRef для позиций в диапазоне от offset до offset + length. |
String |
getString |
Извлечение части содержимого. |
UndoableEdit |
insertString |
Вставка строки в содержимое. |
int |
length() |
Возвращает длину содержимого. |
UndoableEdit |
remove |
Удаление части содержимого. |
protected void |
replace |
Замена заданной логической позиции в хранилище заданными новыми элементами. |
protected void |
resetMarksAtZero() |
Сброс всех меток, у которых смещение равно 0, чтобы установить и их индекс в ноль. |
protected void |
shiftEnd |
Увеличение размера пробела, перемещение необходимых данных и обновление соответствующих меток. |
protected void |
shiftGap |
Перемещение начала пробела в новое местоположение без изменения размера пробела. |
protected void |
shiftGapEndUp |
Корректировка конца пробела вверх. |
protected void |
shiftGapStartDown |
Корректировка конца пробела вниз. |
protected void |
updateUndoPositions |
Сброс местоположения для всех экземпляров UndoPosRef в positions. |
Подробное описание конструкторов
GapContent
public GapContent()
GapContent
public GapContent(int initialLength)
- Параметры:
-
initialLength- начальный размер
Подробное описание методов
allocateArray
protected Object allocateArray(int len)
- Параметры:
-
len- длина массива - Возвращает:
- массив Java некоторого типа
getArrayLength
protected int getArrayLength()
- Возвращает:
- длину массива
length
public int length()
- Определено в:
-
lengthв интерфейсеAbstractDocument.Content - Возвращает:
- длину >= 1
- См. также:
insertString
public UndoableEdit insertString(int where, String str) throws BadLocationException
- Определено в:
-
insertStringв интерфейсеAbstractDocument.Content - Параметры:
-
where- начальная позиция >= 0, < length() -
str- непустая строка для вставки - Возвращает:
- объект UndoableEdit для отмены
- Исключения:
-
BadLocationException- если указанная позиция неверна - См. также:
remove
public UndoableEdit remove(int where, int nitems) throws BadLocationException
- Определено в:
-
removeв интерфейсеAbstractDocument.Content - Параметры:
-
where- начальная позиция >= 0, где + nitems < length() -
nitems- количество символов для удаления >= 0 - Возвращает:
- объект UndoableEdit для отмены
- Исключения:
-
BadLocationException- если указанная позиция неверна - См. также:
getString
public String getString(int where, int len) throws BadLocationException
- Определено в:
-
getStringв интерфейсеAbstractDocument.Content - Параметры:
-
where- начальная позиция >= 0 -
len- длина для извлечения >= 0 - Возвращает:
- строку, представляющую содержимое
- Исключения:
-
BadLocationException- если указанная позиция неверна - См. также:
getChars
public void getChars(int where, int len, Segment chars) throws BadLocationException
- Определено в:
-
getCharsв интерфейсеAbstractDocument.Content - Параметры:
-
where- начальная позиция >= 0, где + len <= length() -
len- количество символов для извлечения >= 0 -
chars- объект Segment для возврата символов - Исключения:
-
BadLocationException- если указанная позиция неверна - См. также:
createPosition
public Position createPosition(int offset) throws BadLocationException
- Определено в:
-
createPositionв интерфейсеAbstractDocument.Content - Параметры:
-
offset- смещение для отслеживания >= 0 - Возвращает:
- позицию
- Исключения:
-
BadLocationException- если указанная позиция неверна
shiftEnd
protected void shiftEnd(int newSize)
- Параметры:
-
newSize- новая ёмкость
shiftGap
protected void shiftGap(int newGapStart)
- Параметры:
-
newGapStart- новое начало разрыва
resetMarksAtZero
protected void resetMarksAtZero()
shiftGapStartDown
protected void shiftGapStartDown(int newGapStart)
- Параметры:
-
newGapStart- новое начало разрыва
shiftGapEndUp
protected void shiftGapEndUp(int newGapEnd)
- Параметры:
-
newGapEnd- новый конец разрыва
getPositionsInRange
protected Vector getPositionsInRange(Vector v, int offset, int length)
offset до offset + length. Если v не равен null, соответствующие позиции помещаются в него. Возвращается вектор с полученными позициями.- Параметры:
-
v- используемый вектор, создаётся новый при null -
offset- начальное смещение >= 0 -
length- длина >= 0 - Возвращает:
- множество экземпляров
updateUndoPositions
protected void updateUndoPositions(Vector positions, int offset, int length)
positions. Предназначено для внутреннего использования и обычно не представляет интереса для подклассов.
- Параметры:
-
positions- экземпляры UndoPosRef для сброса -
offset- место вставки строки -
length- длина вставленной строки
getArray
protected final Object getArray()
- Возвращает:
- массив Java некоторого типа
getGapStart
protected final int getGapStart()
- Возвращает:
- начало разрыва
getGapEnd
protected final int getGapEnd()
- Возвращает:
- конец разрыва
replace
protected void replace(int position, int rmSize, Object addItems, int addSize)
- Параметры:
-
position- место для замены. Это не место в базовом массиве хранения, а место в непрерывном пространстве, которое моделируется. -
rmSize- количество элементов для удаления -
addItems- новые элементы для размещения в хранилище. -
addSize- количество элементов для добавления
© 1993, 2021, 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/17/docs/api/java.desktop/javax/swing/text/GapContent.html