|
JavaTMPlatform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.swing.text.GapContent
public class GapContent
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 |
생성자 의 상세 |
---|
public GapContent()
public GapContent(int initialLength)
initialLength
- 초기 사이즈메소드의 상세 |
---|
protected Object allocateArray(int len)
protected int getArrayLength()
public int length()
AbstractDocument.Content
안의 length
AbstractDocument.Content.length()
public UndoableEdit insertString(int where,
String str)
throws BadLocationException
AbstractDocument.Content
안의 insertString
where
- 개시 위치 >= 0, < length()str
- 삽입하는 null 이외의 캐릭터 라인
BadLocationException
-
지정된 위치가 무효인 경우AbstractDocument.Content.insertString(int,
java.lang.String)
public UndoableEdit remove(int where,
int nitems)
throws BadLocationException
AbstractDocument.Content
안의 remove
where
- 개시 위치 >= 0, where + nitems < length()nitems
- 삭제 대상의 문자수 >= 0
BadLocationException
-
지정된 위치가 무효인 경우AbstractDocument.Content.remove(int,
int)
public String getString(int where,
int len)
throws BadLocationException
AbstractDocument.Content
안의 getString
where
- 개시 위치 >= 0len
- 꺼내는 길이 >= 0
BadLocationException
-
지정된 위치가 무효인 경우AbstractDocument.Content.getString(int,
int)
public void getChars(int where,
int len,
Segment chars)
throws BadLocationException
AbstractDocument.Content
안의 getChars
where
- 개시 위치 >= 0. where + len <= length()len
- 검색 대상의 문자수 >= 0chars
- 문자를 돌려주는 앞의 Segment 객체
BadLocationException
-
지정된 위치가 무효인 경우AbstractDocument.Content.getChars(int,
int, javax.swing.text.Segment)
public Position createPosition(int offset)
throws BadLocationException
AbstractDocument.Content
안의 createPosition
offset
- 추적 대상의 오프셋(offset) >= 0
BadLocationException
-
지정된 위치가 무효인 경우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
의 범위에 있는 위치에 대응하는 UndoPosRef 의 인스턴스를 포함한 벡터를 돌려줍니다. v
가 null
(이)가 아닌 경우, 일치하는 위치가 거기에 배치됩니다. 결과의 위치를 가지는 벡터가 돌려주어집니다.
v
- 사용하는 벡터. null 의 경우는 새로운 벡터가 작성된다offset
- 개시 오프셋(offset) >= 0length
- 길이 >= 0
protected void updateUndoPositions(Vector positions,
int offset,
int length)
positions
의 모든 UndoPosRef 인스턴스의 위치를 리셋 합니다.
이것은 내부에서의 사용을 목적으로 하고 있어, 일반적으로는 서브 클래스를 대상으로 하고 있지 않습니다.
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
- 기억 영역에 놓여지는 새로운 항목
|
JavaTMPlatform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.