Класс 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- строка для вставки, не null - Возвращает:
- объект 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, 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/GapContent.html