Класс StringContent
- java.lang.Object
-
- javax.swing.text.StringContent
- Все реализованные интерфейсы:
- Serializable, AbstractDocument.Content
public final class StringContent extends Object implements AbstractDocument.Content, Serializable
Реализация интерфейса AbstractDocument.Content, которая представляет собой прямое (brute force) решение, полезное для относительно небольших документов и/или отладки. Она управляет текстовым содержимым как простым массивом символов. Также она довольно неэффективна.
В целом рекомендуется использовать реализации с буфером разрывов (gap buffer) или таблицей фрагментов (piece table) вместо этой. Этот буфер не масштабируется до больших размеров.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans™ была добавлена в пакет java.beans. Пожалуйста, обратитесь к XMLEncoder.
Конструкторы
| Конструктор и описание |
|---|
StringContent() Создаёт новый объект StringContent. |
StringContent(int initialLength) Создаёт новый объект StringContent со заданным начальным размером. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
Position |
createPosition(int offset) Создаёт позицию в содержимом, которая будет отслеживать изменения по мере его модификации. |
void |
getChars(int where,
int len,
Segment chars) Возвращает часть содержимого. |
protected Vector |
getPositionsInRange(Vector v,
int offset,
int length) Возвращает вектор, содержащий экземпляры UndoPosRef для позиций в диапазоне от |
String |
getString(int where,
int len) Возвращает часть содержимого. |
UndoableEdit |
insertString(int where,
String str) Вставляет строку в содержимое. |
int |
length() Возвращает длину содержимого. |
UndoableEdit |
remove(int where,
int nitems) Удаляет часть содержимого. |
protected void |
updateUndoPositions(Vector positions) Сбрасывает расположение для всех экземпляров UndoPosRef в |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Подробное описание конструкторов
StringContent
public StringContent()
Создаёт новый объект StringContent. Начальный размер по умолчанию равен 10.
StringContent
public StringContent(int initialLength)
Создаёт новый объект StringContent со заданным начальным размером. Если длина меньше 1, используется размер 1.
- Параметры:
-
initialLength- начальный размер
Подробное описание методов
length
public int length()
Возвращает длину содержимого.
- Указано в:
-
lengthв интерфейсеAbstractDocument.Content - Возвращает:
- длину >= 1
- См. также:
AbstractDocument.Content.length()
insertString
public UndoableEdit insertString(int where,
String str)
throws BadLocationException Вставляет строку в содержимое.
- Указано в:
-
insertStringв интерфейсеAbstractDocument.Content - Параметры:
-
where- начальная позиция >= 0 && < length() -
str- непустая вставляемая строка - Возвращает:
- объект UndoableEdit для отмены операции
- Исключения:
-
BadLocationException- если указанная позиция некорректна - См. также:
AbstractDocument.Content.insertString(int, java.lang.String)
remove
public UndoableEdit remove(int where,
int nitems)
throws BadLocationException Удаляет часть содержимого. Где + nitems должно быть меньше длины.
- Указано в:
-
removeв интерфейсеAbstractDocument.Content - Параметры:
-
where- начальная позиция >= 0 -
nitems- количество символов для удаления >= 0 - Возвращает:
- объект UndoableEdit для отмены операции
- Исключения:
-
BadLocationException- если указанная позиция некорректна - См. также:
AbstractDocument.Content.remove(int, int)
getString
public String getString(int where,
int len)
throws BadLocationException Возвращает часть содержимого. Где + len должно быть меньше или равно длины.
- Указано в:
-
getStringв интерфейсеAbstractDocument.Content - Параметры:
-
where- начальная позиция >= 0 -
len- длина для извлечения >= 0 - Возвращает:
- строка, представляющая содержимое; может быть пустой
- Исключения:
-
BadLocationException- если указанная позиция некорректна - См. также:
AbstractDocument.Content.getString(int, int)
getChars
public void getChars(int where,
int len,
Segment chars)
throws BadLocationException Возвращает часть содержимого. где + len должно быть меньше или равно длины
- Указано в:
-
getCharsв интерфейсеAbstractDocument.Content - Параметры:
-
where- начальная позиция >= 0 -
len- количество символов для извлечения >= 0 -
chars- объект Segment для возвращения символов - Исключения:
-
BadLocationException- если указанная позиция некорректна - См. также:
AbstractDocument.Content.getChars(int, int, javax.swing.text.Segment)
createPosition
public Position createPosition(int offset)
throws BadLocationException Создаёт позицию в содержимом, которая будет отслеживать изменения по мере его модификации.
- Указано в:
-
createPositionв интерфейсеAbstractDocument.Content - Параметры:
-
offset- смещение для создания позиции >= 0 - Возвращает:
- позицию
- Исключения:
-
BadLocationException- если указанная позиция некорректна
getPositionsInRange
protected Vector getPositionsInRange(Vector v,
int offset,
int length) Возвращает вектор, содержащий экземпляры UndoPosRef для позиций в диапазоне от offset до offset + length. Если v не равно null, соответствующие позиции помещаются туда. Возвращается вектор с результирующими позициями.
Этот метод предназначен для внутреннего использования и обычно не представляет интереса для подклассов.
- Параметры:
-
v- вектор для использования; создаётся новый при null -
offset- начальное смещение >= 0 -
length- длина >= 0 - Возвращает:
- множество экземпляров
updateUndoPositions
protected void updateUndoPositions(Vector positions)
Сбрасывает расположение для всех экземпляров UndoPosRef в positions.
Этот метод предназначен для внутреннего использования и обычно не представляет интереса для подклассов.
- Параметры:
-
positions- позиции экземпляров
© 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.