JavaTMPlatform
Standard Ed. 6


javax.swing.text
클래스 GapContent

java.lang.Object 
  상위를 확장 javax.swing.text.GapContent
모든 구현된 인터페이스:
Serializable , AbstractDocument.Content

public class GapContent
extends Object
implements AbstractDocument.Content , Serializable

emacs 가 사용하는 것 과 유사한 갭 첨부 버퍼를 사용해 구현된 AbstractDocument.Content 인터페이스의 구현입니다. 기억되는 내용은, 어디엔가 갭을 가지는 Unicode 캐릭터 라인의 배열입니다. 갭은 변경의 위치에 이동되므로, 대부분의 변경이 같은 위치에 있는 장소에서, 공통의 동작을 이용할 수 있게 됩니다. 갭 경계 그리고 생기는 변경은 일반적으로 간단한 것이므로, 배열의 내용을 직접 이동해 변경을 적용하는 것보다도 갭을 이동하는 편이 시간이 들지 않습니다.

또, 변경을 추적하는 위치를 관리하는 것도 일반적으로 간단합니다. 위치의 구현 (마크) (은)는 배열 인덱스를 포함해, 현재의 갭 위치로부터 순서대로 위치를 간단하게 계산할 수 있습니다. 변경에서는 갭의 이동시에 신구 갭 경계간의 마크에 대한 갱신 (을)를 필요로 할 뿐(만큼)이므로, 마크의 갱신은 일반적으로 매우 간편합니다. 마크는 소트 된 상태로 포함되므로, 2 등분 탐색으로 재빠르게 찾아낼 수 있습니다. 이것은 마크를 추가하는 수고를 증대시키는 한편으로, 마크의 갱신을 유지하는 수고를 줄입니다.


생성자 의 개요
GapContent ()
          새롭다 GapContent 객체를 작성합니다.
GapContent (int initialLength)
          지정된 초기 사이즈로 신 해 있고 GapContent 객체를 생성합니다.
 
메소드의 개요
protected  Object allocateArray (int len)
          항목을 포함하기 위한 적절 형태의 배열을 할당합니다.
 Position 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)
          offset ~ offset + length 의 범위에 있는 위치에 대응하는 UndoPosRef 의 인스턴스를 포함한 벡터를 돌려줍니다.
 String 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 ()
          오프셋(offset)가 0 의 마크를 모두 리셋 해, 인덱스도 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)
          positions 의 모든 UndoPosRef 인스턴스의 위치를 리셋 합니다.
 
클래스 java.lang. Object (으)로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

GapContent

public GapContent()
새로운 GapContent 객체를 작성합니다. 초기 사이즈의 디폴트 값는 10 입니다.


GapContent

public GapContent(int initialLength)
지정된 초기 사이즈로 새로운 GapContent 객체를 생성합니다. 초기 사이즈는, 암묵의 브레이크와 갭의 여지를 갖게하기 (위해)때문에, 2 이상의 값으로 할 필요가 있습니다.

파라미터:
initialLength - 초기 사이즈
메소드의 상세

allocateArray

protected Object  allocateArray(int len)
항목을 포함하기 위한 적절한 형태의 배열을 할당합니다. 배열의 형태는, 서브 클래스에서 결정합니다.


getArrayLength

protected int getArrayLength()
할당할 수 있었던 배열의 길이를 돌려줍니다.


length

public int length()
컨텐츠의 길이를 돌려줍니다.

정의:
인터페이스 AbstractDocument.Content 안의 length
반환값:
길이 >= 1
관련 항목:
AbstractDocument.Content.length()

insertString

public UndoableEdit  insertString(int where,
String  str)
throws BadLocationException
컨텐츠에 캐릭터 라인을 삽입합니다.

정의:
인터페이스 AbstractDocument.Content 안의 insertString
파라미터:
where - 개시 위치 >= 0, < length()
str - 삽입하는 null 이외의 캐릭터 라인
반환값:
바탕으로 되돌리기 위한 UndoableEdit 객체
예외:
BadLocationException - 지정된 위치가 무효인 경우
관련 항목:
AbstractDocument.Content.insertString(int, java.lang.String)

remove

public UndoableEdit  remove(int where,
int nitems)
throws BadLocationException
컨텐츠의 일부를 삭제합니다.

정의:
인터페이스 AbstractDocument.Content 안의 remove
파라미터:
where - 개시 위치 >= 0, where + nitems < length()
nitems - 삭제 대상의 문자수 >= 0
반환값:
바탕으로 되돌리기 위한 UndoableEdit 객체
예외:
BadLocationException - 지정된 위치가 무효인 경우
관련 항목:
AbstractDocument.Content.remove(int, int)

getString

public String  getString(int where,
int len)
throws BadLocationException
컨텐츠의 일부를 꺼냅니다.

정의:
인터페이스 AbstractDocument.Content 안의 getString
파라미터:
where - 개시 위치 >= 0
len - 꺼내는 길이 >= 0
반환값:
컨텐츠를 나타내는 캐릭터 라인
예외:
BadLocationException - 지정된 위치가 무효인 경우
관련 항목:
AbstractDocument.Content.getString(int, int)

getChars

public void getChars(int where,
int len,
Segment  chars)
throws BadLocationException
컨텐츠의 일부를 꺼냅니다. 필요한 컨텐츠가 갭을 또 있고로 있는 경우, 컨텐츠를 카피합니다. 필요한 컨텐츠가 갭을 또 있고로 없는 경우, 카피는 연속하고 있는 것이므로, 실제의 포함 내용을 돌려주어 카피를 피합니다.

정의:
인터페이스 AbstractDocument.Content 안의 getChars
파라미터:
where - 개시 위치 >= 0. where + len <= length()
len - 검색 대상의 문자수 >= 0
chars - 문자를 돌려주는 앞의 Segment 객체
예외:
BadLocationException - 지정된 위치가 무효인 경우
관련 항목:
AbstractDocument.Content.getChars(int, int, javax.swing.text.Segment)

createPosition

public Position  createPosition(int offset)
throws BadLocationException
컨텐츠가 변경되었을 때에 변경을 추적하는 컨텐츠내의 위치를 작성합니다.

정의:
인터페이스 AbstractDocument.Content 안의 createPosition
파라미터:
offset - 추적 대상의 오프셋(offset) >= 0
반환값:
위치
예외:
BadLocationException - 지정된 위치가 무효인 경우

shiftEnd

protected void shiftEnd(int newSize)
갭을 확대해, 이것에 의해, 필요한 데이터를 이동해 적절한 마크를 갱신합니다.


shiftGap

protected void shiftGap(int newGapStart)
갭의 개시 위치를 새로운 위치로 이동합니다. 이 때, 갭의 사이즈는 변경하지 않습니다. 이것에 의해, 배열내의 데이터는 이동되어 마크는 갱신됩니다.


resetMarksAtZero

protected void resetMarksAtZero()
오프셋(offset)가 0 의 마크를 모두 리셋 해, 인덱스도 0 이 되도록(듯이) 합니다.


shiftGapStartDown

protected void shiftGapStartDown(int newGapStart)
갭의 끝을 하부에 조절합니다. 이 조작에서는, 데이터는 이동됩니다만, 경계의 변경에 의해 영향을 받는 모든 마크가 갱신 . 낡은 갭의 개시 위치와 새로운 갭의 개시 위치동안에 있는 모든 마크는, 갭의 끝에 밀어넣어져 그러한 위치는 삭제됩니다.


shiftGapEndUp

protected void shiftGapEndUp(int newGapEnd)
갭의 끝을 윗쪽에 조절합니다. 이 조작에서는, 데이터는 이동됩니다만, 경계의 변경에 의해 영향을 받는 모든 마크가 갱신 . 낡은 갭의 종료 위치와 새로운 갭의 종료 위치동안에 있는 모든 마크는, 갭의 끝에 밀어넣어져 그러한 위치는 삭제됩니다.


getPositionsInRange

protected Vector  getPositionsInRange(Vector  v,
int offset,
int length)
offset ~ offset + length 의 범위에 있는 위치에 대응하는 UndoPosRef 의 인스턴스를 포함한 벡터를 돌려줍니다. v 가 null (이)가 아닌 경우, 일치하는 위치가 거기에 배치됩니다. 결과의 위치를 가지는 벡터가 돌려주어집니다.

파라미터:
v - 사용하는 벡터. null 의 경우는 새로운 벡터가 작성된다
offset - 개시 오프셋(offset) >= 0
length - 길이 >= 0
반환값:
인스턴스세트

updateUndoPositions

protected void updateUndoPositions(Vector  positions,
int offset,
int length)
positions 의 모든 UndoPosRef 인스턴스의 위치를 리셋 합니다.

이것은 내부에서의 사용을 목적으로 하고 있어, 일반적으로는 서브 클래스를 대상으로 하고 있지 않습니다.

파라미터:
positions - 리셋 대상의 UndoPosRef 의 인스턴스

getArray

protected final Object  getArray()
배열에 액세스 합니다. 배열의 실제의 형태는 서브 클래스만이 인식합니다.


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 - 기억 영역에 놓여지는 새로운 항목

JavaTMPlatform
Standard Ed. 6

바 그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.