JavaTM Platform
Standard Ed. 6

javax.swing.undo
�ӿ� UndoableEdit

������֪ʵ���ࣺ
AbstractDocument.DefaultDocumentEvent, AbstractDocument.ElementEdit, AbstractUndoableEdit, CompoundEdit, DefaultStyledDocument.AttributeUndoableEdit, StateEdit, UndoManager

public interface UndoableEdit

UndoableEdit ��ʾһ���༭���ñ༭�ɱ�����������ѳ������ñ༭�ɻָ���

��� UndoableEdit �� UndoManager һ��ʹ�á����� UndoableEdit ���� UndoableEditListener ���ɵģ�����ͨ�����������ӵ� UndoManager������ UndoableEdit ���ӵ� UndoManager ʱ���ᷢ�������¼����ٶ�û���� UndoManager �ϵ��� end����

  1. ��� UndoManager �����༭���������ڵ�ǰ�༭�ϵ��� addEdit�������µı༭��Ϊ��������� addEdit ���� true�����µı༭����Ϊ�Ѻϲ�����ǰ�༭�У����Ҳ��Ὣ�µı༭���ӵ���ǰ�༭�б����༭����ʹ�� addEdit �������С�༭�ϲ����ϴ�༭�У����ҽ��ϲ���ı༭��Ϊ�����༭��
  2. ��� addEdit ���� false�����Դ���ĵ�ǰ�༭���µı༭���� replaceEdit������ addEdit ��Ȼ�෴ — ����µı༭�� replaceEdit ���� true�����µı༭���滻��ǰ�༭��
UndoManager ʹ�� isSignificant ȷ��Ӧ�ó�����ָ����ٱ༭��UndoManager ��������ָ���ǰ�༭�����һ������һ����Ч�༭֮���������Ч�༭��isSignificant ���� false����addEdit �� replaceEdit �����ڽ�����༭��Ϊ�����༭���� isSignificant ���� false ���� treating ������һ�γ�����ָ������С�༭��Ҳ����ʹ�� addEdit ����������ƵĹ��ܡ�


����ժҪ
 boolean addEdit(UndoableEdit anEdit)
          �� UndoableEdit ���ӵ��� UndoableEdit��
 boolean canRedo()
          ������Իָ��˱༭���򷵻� true��
 boolean canUndo()
          ������Գ����˱༭���򷵻� true��
 void die()
          ֪ͨij���༭��Ӧ��ʹ������
 String getPresentationName()
          ���ش˱༭�ı��ػ��ɶ����������磬�����ڸ�����־��ʹ�á�
 String getRedoPresentationName()
          ���ش˱༭�ɻָ���ʽ�ı��ػ��ɶ����������磬�������� “Redo” �˵��
 String getUndoPresentationName()
          ���ش˱༭�ɳ�����ʽ�ı��ػ��ɶ����������磬�������� “Undo” �˵��
 boolean isSignificant()
          �����Ϊ�˱༭��Ч���򷵻� true��
 void redo()
          ����Ӧ�ñ༭��
 boolean replaceEdit(UndoableEdit anEdit)
          ����� UndoableEdit Ӧ�滻 anEdit���򷵻� true��
 void undo()
          �����༭��
 

������ϸ��Ϣ

undo

void undo()
          throws CannotUndoException
�����༭��

�׳���
CannotUndoException - ������ܳ����˱༭

canUndo

boolean canUndo()
������Գ����˱༭���򷵻� true��

���أ�
������Գ����˱༭���򷵻� true

redo

void redo()
          throws CannotRedoException
����Ӧ�ñ༭��

�׳���
CannotRedoException - ������ָܻ��˱༭

canRedo

boolean canRedo()
������Իָ��˱༭���򷵻� true��

���أ�
������Իָ��˱༭���򷵻� true

die

void die()
֪ͨij���༭��Ӧ��ʹ������һ���� UndoableEdit ���Ϊͣ�ã������ٶ������г�����ָ���

���ڲ����ܳ�����ָ�ʱ���������Ҫ��״̬���ԣ�����һ�����õĹ��� (hook)�����磬ɾ�������ٻָ��Ķ�����ʹ�õ��ļ���Դ��UndoManager �����뿪�༭����֮ǰ��������

ע�⣬����һ����������������� "un-die" ������

������
CompoundEdit.die()

addEdit

boolean addEdit(UndoableEdit anEdit)
�� UndoableEdit ���ӵ��� UndoableEdit���˷��������ڽ������С�༭�ϲ�Ϊһ���ϴ�ĸ��ϱ༭�����磬�ı��༭��ͨ�������Ե��ʻ����Ӧ�ó����������ı��༭������ѡ����ÿ���ؼ��¼������ɱ༭������������Щ�༭�ϲ�Ϊһ�������û��Ѻõĵ�Ԫ������һ�����ʡ�����������£������Ժϲ��༭ʱ��UndoableEdit ����д addEdit �Է��� true��

����ֵΪ true ָʾ�ѽ� anEdit �ϲ����˱༭������ֵΪ false ָʾ���ܽ� anEdit �ϲ����˱༭��

ͨ�����������Ѿ��� UndoManager���������� UndoableEditListener�������У����ҿ��Ժϲ� anEdit�������ǽ�����˳�����ӵ������С�

������� true��������ڿ�ʼ��anEdit ����� canUndo �� canRedo ���� false�����ұ���� undo �� redo �׳��ʵ����쳣��

������
anEdit - Ҫ���ӵı༭
���أ�
������Խ� anEdit �ϲ����˱༭���򷵻� true

replaceEdit

boolean replaceEdit(UndoableEdit anEdit)
����� UndoableEdit Ӧ�滻 anEdit���򷵻� true���˷����� CompoundEdit �� UndoManager ʹ�ã�������ܽ� anEdit ���ӵ���ǰ�༭��addEdit ���� false��������ô˷�����

�˷����ṩ��ij���༭�滻���б༭�ķ�����

����Ϣ�� addEdit �෴ -- anEdit ͨ���Ѿ��� UndoManager���������� UndoableEditListener���Ķ����У����ҽ����߿����滻����

������� true��������ڿ�ʼ��anEdit ����� canUndo() �� canRedo() ���� false�����ұ���� undo() �� redo() �׳��ʵ����쳣��

������
anEdit - �滻��ǰ�༭�ı༭
���أ�
����˱༭Ӧ���滻 anEdit���򷵻� true

isSignificant

boolean isSignificant()
�����Ϊ�˱༭��Ч���򷵻� true����Ч�༭ͨ����ָӦ�ó��ָ��û��ı༭�������ڲ˵���򹤾���ʾ�ϡ�UndoManager ��Ϊ��һ����Ч�༭������ָ�������Ч�༭��

���أ�
����˱༭��Ч���򷵻� true

getPresentationName

String getPresentationName()
���ش˱༭�ı��ػ��ɶ����������磬�����ڸ�����־��ʹ�á�

���أ�
�˱༭������

getUndoPresentationName

String getUndoPresentationName()
���ش˱༭�ɳ�����ʽ�ı��ػ��ɶ����������磬�������� “Undo” �˵���˷���ͨ�������� getPresentationName��

���أ�
�˱༭�ɳ�����ʽ������

getRedoPresentationName

String getRedoPresentationName()
���ش˱༭�ɻָ���ʽ�ı��ػ��ɶ����������磬�������� “Redo” �˵���˷���ͨ�������� getPresentationName��

���أ�
�˱༭�ɻָ���ʽ������

JavaTM Platform
Standard Ed. 6

�ύ��������
�йظ���� API �ο����ϺͿ�����Ա�ĵ�������� Java SE ������Ա�ĵ������ĵ���������ϸ�ġ����򿪷���Ա���������Լ�������������ﶨ�塢ʹ�ü��ɺ͹�������ʾ����

��Ȩ���� 2007 Sun Microsystems, Inc. ��������Ȩ���� ����������֤��������������ĵ����·ַ�������