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