|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
public interface UndoableEdit
UndoableEdit
는 편집 결과를 나타냅니다. 편집 결과의 취소나, 일단 취소한 편집의 재실행도 가능합니다.
UndoableEdit
는 UndoManager
와 함께 사용합니다. UndoableEdit
는 UndoableEditListener
에 의해 생성되므로, 일반적으로은 UndoManager
에 추가됩니다. UndoableEdit
가 UndoManager
에 추가되면(자), 다음의 처리를 합니다 (UndoManager
상에서 아직 end
가 불려 가지 않은 것과 상정).
UndoManager
는, 현재의 편집 결과에 대해서 addEdit
를 호출합니다. 이 때, 새로운 편집 결과를 인수로 지정합니다. addEdit
가 true 를 돌려주는 경우는, 새로운 편집 결과가 벌써 현재의 편집 결과에 짜넣어진 것으로 간주해집니다. 따라서, 이 새로운 편집 결과는, 현재의 편집 결과의 리스트에는 추가되지 않습니다. addEdit
를 사용해 소규모의 편집 결과를 보다 대규모 편집 결과에 짜넣는 것으로, 하나의 편집 결과적으로 취급할 수가 있습니다.
addEdit
의 반환값이 false 인 경우, 새로운 편집 결과에 대해서 replaceEdit
가 불려 갑니다. 이 때, 인수로서 현재의 편집 결과가 건네받습니다. 이것은,addEdit
와 역의 조작이 됩니다. 새로운 편집 결과가 replaceEdit
로부터 true 를 돌려주는 경우, 이 편집 결과로 현재의 편집 결과를 옮겨놓을 수 있습니다.
UndoManager
는,isSignificant
를 이용해, 몇개의 편집 결과를 취소할 수 있는지, 또는 취소한 편집을 재실행할 수 있을까를 결정합니다. UndoManager
는, 작은 편집 결과를 취소하거나 재실행하거나 할 수 있습니다 (isSignificant
가 false 를 돌려주는 경우). 예를 들어 현재의 편집 결과를 취소해 전회의 중대한 결과에 되돌리거나 편집을 재실행해 중대한 편집 결과를 얻을 수 있습니다. 복수의 편집 결과를 단일의 편집 결과적으로 취급하려면 ,addEdit
와 replaceEdit
를 사용합니다. isSignificant
가 false 를 돌려주는 경우는, 많은 작은 편집 결과를 한 번에 취소하거나 재실행하거나 할 수 있습니다. 같은 처리는,addEdit
메소드를 사용해도 실행할 수 있습니다.
메소드의 개요 | |
---|---|
boolean |
addEdit (UndoableEdit anEdit)
이 UndoableEdit 에 UndoableEdit 를 추가합니다. |
boolean |
canRedo ()
이 편집 내용을 재실행할 수 있는 경우는 true 를 돌려줍니다. |
boolean |
canUndo ()
이 편집 결과를 취소할 수 있는 경우는 true 를 돌려줍니다. |
void |
die ()
편집 결과에, 더 이상 사용할 수 없는 것을 통지합니다. |
String |
getPresentationName ()
변경 로그등으로 사용하는데 적합한, 이 편집 결과의 판독 가능한 로컬라이즈 끝난 기술을 돌려줍니다. |
String |
getRedoPresentationName ()
[재실행] 메뉴 항목등으로 사용하는데 적합한, 이 편집 결과의 재실행 가능한 형식의 판독 가능한 로컬라이즈 끝난 설명을 돌려줍니다. |
String |
getUndoPresentationName ()
[바탕으로 되돌리는] 메뉴 항목등으로 사용하는데 적합한, 이 편집 결과의 취소해 가능한 형식의 판독 가능한 로컬라이즈 끝난 설명을 돌려줍니다. |
boolean |
isSignificant ()
이 편집 결과가 중대하다라고 보여지는 경우에 true 를 돌려줍니다. |
void |
redo ()
편집 내용을 다시 적용합니다. |
boolean |
replaceEdit (UndoableEdit anEdit)
이 UndoableEdit 로 anEdit 를 옮겨놓을 수 있는 경우는, true 를 돌려줍니다. |
void |
undo ()
편집 결과를 취소합니다. |
메소드의 상세 |
---|
void undo() throws CannotUndoException
CannotUndoException
- 이 편집 결과를 취소할 수 없는 경우boolean canUndo()
void redo() throws CannotRedoException
CannotRedoException
- 이 편집 내용을 재실행할 수 없는 경우boolean canRedo()
void die()
UndoableEdit
는, 취소하는 일도 재실행할 수도 있습니다..
이것은, 바탕으로 되돌리는 조작이나 재실행의 조작이 불가능하게 되어, 불필요하게 된 상태를 클린 업 할 때, 예를 들어, 삭제의 취소를 할 수 없게 된 객체에 의해 사용되는 파일 자원을 삭제하는 경우에 사용하는 훅입니다. UndoManager
는, 편집 결과의 대기를 해제하기 전에 이 메소드를 호출합니다.
이것은 한방향의 조작입니다. undie 라고 하는 메소드는 없습니다.
CompoundEdit.die()
boolean addEdit(UndoableEdit anEdit)
UndoableEdit
에 UndoableEdit
를 추가합니다. 비교적 소규모의 복수의 편집 결과를 합체 해, 보다 대규모 단일의 편집 결과를 얻고 싶은 경우는, 이 메소드를 사용합니다. 예를 들어, 일반적으로, 텍스트 문자 편집기에서는, 말이나 문장에 취소해 조작을 적용할 수가 있습니다. 텍스트 문자 편집기에서는, 키 이벤트의 발생마다 편집 결과를 생성할 수도 있습니다만, 이러한 편집 결과를 합체 해, 사용자에 의해 취급하기 쉬운 단위 (예를 들어 말단위)로 할 수도 있습니다. 이와 같이 복수의 편집 결과의 합체가 가능한 경우는,UndoableEdit
가 addEdit
를 오버라이드(override) 해, true 를 돌려줍니다.
반환값 true 는,anEdit
가 이 편집 결과에 짜넣어진 것을 나타냅니다. 반환값 false 는,anEdit
를 이 편집 결과에 짜넣을 수 없는 것을 나타냅니다.
일반적으로, 리시버는 벌써 UndoManager
(또는, 다른 UndoableEditListener
)의 큐에 들어가 있어anEdit
를 큐에 차례로 추가하는 것이 아니라, 그것을 수중에 넣을 기회가 주어집니다.
true 가 돌려주어지면(자), 그 이후 anEdit
는,canUndo
및 canRedo
로부터는 false 를 돌려주어,undo
나 redo
에는 적절한 예외를 throw 합니다.
anEdit
- 추가되는 편집 결과
anEdit
를 짜넣을 수가 있는 경우는
trueboolean replaceEdit(UndoableEdit anEdit)
UndoableEdit
로 anEdit
를 옮겨놓을 수 있는 경우는, true 를 돌려줍니다. 이 메소드는,CompoundEdit
와 UndoManager
에 의해 사용됩니다. anEdit
를 현재의 편집 결과에 추가할 수 없는 경우 (addEdit
가 false 를 돌려주는 경우)에 불려 갑니다.
이 메소드를 이용하면(자), 어느 편집 결과로 기존의 편집 결과를 옮겨놓을 수가 있습니다.
이 메세지는, addEdit 의 반대극에 있습니다. 즉, anEdit 는 일반적으로 UndoManager
(또는, 다른 UndoableEditListener)의 큐에 벌써 들어가 있어 리시버는 그것과 옮겨놓을 수 있을 기회가 주어집니다.
true 가 돌려주어지면(자), 그 이후 anEdit 는, canUndo() 및 canRedo()로부터는 false 를 돌려주어, undo()나 redo()에는 적절한 예외를 throw 합니다.
anEdit
- 현재의 편집 결과를 옮겨놓는 편집 내용
anEdit
를 옮겨놓을 수 있는 경우는 trueboolean isSignificant()
UndoManager
는, 다음의 중대한 편집 결과에 대한 작은 편집 결과 모든 것을 취소해 또는 재실행합니다..
String getPresentationName()
String getUndoPresentationName()
getPresentationName
로부터 파생합니다.
String getRedoPresentationName()
getPresentationName
로부터 파생합니다.
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.