本文整理汇总了Java中javax.swing.undo.UndoableEdit类的典型用法代码示例。如果您正苦于以下问题:Java UndoableEdit类的具体用法?Java UndoableEdit怎么用?Java UndoableEdit使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
UndoableEdit类属于javax.swing.undo包,在下文中一共展示了UndoableEdit类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: addEdit
import javax.swing.undo.UndoableEdit; //导入依赖的package包/类
@Override
public boolean addEdit(UndoableEdit anEdit) {
if (super.addEdit(anEdit)) {
if (mergeEditIndex >= MERGE_INDEX_NOT_INITIALIZED) { // Valid or not inited
if (anEdit instanceof BaseDocumentEvent) {
mergeEditIndex = size() - 1;
} else if (anEdit.getClass() != BaseDocument.AtomicCompoundEdit.class &&
!CaretUndo.isCaretUndoEdit(anEdit)
) {
mergeEditIndex = MERGE_PROHIBITED; // Do not allow merging if there are unknown undoable edits
}
}
return true;
}
return false;
}
示例2: replaceEdit
import javax.swing.undo.UndoableEdit; //导入依赖的package包/类
/** Try to determine whether this event can replace the old one.
* This is used to batch the one-letter modifications into larger
* parts (words) and undoing/redoing them at once.
* This method returns true whether
*/
public @Override boolean replaceEdit(UndoableEdit anEdit) {
BaseDocument doc = (BaseDocument)getDocument();
if (anEdit instanceof BaseDocument.AtomicCompoundEdit) {
BaseDocument.AtomicCompoundEdit compEdit
= (BaseDocument.AtomicCompoundEdit)anEdit;
BaseDocumentEvent aMergeEdit = compEdit.getMergeEdit();
if (!doc.undoMergeReset && aMergeEdit != null) {
if (canMerge(aMergeEdit)) {
previous = anEdit;
return true;
}
}
} else if (anEdit instanceof BaseDocumentEvent) {
BaseDocumentEvent evt = (BaseDocumentEvent)anEdit;
if (!doc.undoMergeReset && canMerge(evt)) {
previous = anEdit;
return true;
}
}
doc.undoMergeReset = false;
return false;
}
示例3: die
import javax.swing.undo.UndoableEdit; //导入依赖的package包/类
public @Override void die() {
// Super of die()
int size = edits.size();
for (int i = size-1; i >= 0; i--)
{
UndoableEdit e = (UndoableEdit)edits.elementAt(i);
e.die();
}
alive2 = false;
// End super of die()
if (previous != null) {
previous.die();
previous = null;
}
}
示例4: testWrapping
import javax.swing.undo.UndoableEdit; //导入依赖的package包/类
public void testWrapping() throws Exception {
MimePath mimePath = MimePath.EMPTY;
MockMimeLookup.setInstances(mimePath, new TestingUndoableEditWrapper(), new TestingUndoableEditWrapper2());
CESEnv env = new CESEnv();
Document doc = env.support.openDocument();
// doc.addUndoableEditListener(new UndoableEditListener() {
// @Override
// public void undoableEditHappened(UndoableEditEvent e) {
// UndoableEdit edit = e.getEdit();
// }
// });
doc.insertString(0, "Test", null);
Class wrapEditClass = TestingUndoableEditWrapper.WrapCompoundEdit.class;
assertNotNull(NbDocument.getEditToBeUndoneOfType(env.support, wrapEditClass));
Class wrapEditClass2 = TestingUndoableEditWrapper2.WrapCompoundEdit2.class;
assertNotNull(NbDocument.getEditToBeUndoneOfType(env.support, wrapEditClass2));
// A trick to get whole edit
UndoableEdit wholeEdit = NbDocument.getEditToBeUndoneOfType(env.support, UndoableEdit.class);
assertTrue(wholeEdit instanceof List);
@SuppressWarnings("unchecked")
List<? extends UndoableEdit> listEdit = (List<? extends UndoableEdit>) wholeEdit;
assertEquals(3, listEdit.size());
assertEquals(wrapEditClass, listEdit.get(1).getClass());
assertEquals(wrapEditClass2, listEdit.get(2).getClass());
}
示例5: testAddCaretUndoableEdit
import javax.swing.undo.UndoableEdit; //导入依赖的package包/类
@Test
public void testAddCaretUndoableEdit() throws Exception {
final JEditorPane pane = new JEditorPane("text/plain", "Haf");
//final CompoundEdit compoundEdit = new CompoundEdit();
final boolean[] editAdded = { false };
final Document doc = pane.getDocument();
doc.putProperty(CustomUndoDocument.class, new CustomUndoDocument() {
@Override
public void addUndoableEdit(UndoableEdit edit) {
editAdded[0] = true;
}
});
final EditorCaret editorCaret = new EditorCaret();
SwingUtilities.invokeAndWait(new Runnable() {
@Override
public void run() {
pane.setCaret(editorCaret);
EditorUtilities.addCaretUndoableEdit(doc, editorCaret);
}
});
assertTrue(editAdded[0]);
}
示例6: getUndoPresentationName
import javax.swing.undo.UndoableEdit; //导入依赖的package包/类
@Override
public String getUndoPresentationName() {
UndoableEdit last = lastEdit();
if (last != null) {
return last.getUndoPresentationName();
} else {
String name = getPresentationName();
if (!"".equals(name)) {
name = UIManager.getString("AbstractUndoableEdit.undoText")
+ " " + name;
} else {
name = UIManager.getString("AbstractUndoableEdit.undoText");
}
return name;
}
}
示例7: getRedoPresentationName
import javax.swing.undo.UndoableEdit; //导入依赖的package包/类
@Override
public String getRedoPresentationName() {
UndoableEdit last = lastEdit();
if (last != null) {
return last.getRedoPresentationName();
} else {
String name = getPresentationName();
if (!"".equals(name)) {
name = UIManager.getString("AbstractUndoableEdit.redoText")
+ " " + name;
} else {
name = UIManager.getString("AbstractUndoableEdit.redoText");
}
return name;
}
}
示例8: getEditToBeUndoneRedoneOfType
import javax.swing.undo.UndoableEdit; //导入依赖的package包/类
private static <T extends UndoableEdit> T getEditToBeUndoneRedoneOfType(EditorCookie ec, Class<T> type, boolean redone) {
UndoRedo ur;
if (ec instanceof CloneableEditorSupport &&
((ur = ((CloneableEditorSupport)ec).getUndoRedo()) instanceof UndoRedoManager))
{
UndoRedoManager urManager = (UndoRedoManager) ur;
UndoableEdit edit = urManager.editToBeUndoneRedone(redone);
if (type.isInstance(edit)) {
return type.cast(edit);
} else if (edit instanceof List) {
@SuppressWarnings("unchecked")
List<UndoableEdit> listEdit = (List<UndoableEdit>) edit;
for (int i = listEdit.size() -1; i >= 0; i--) { // Go from most wrapped back
edit = listEdit.get(i);
if (type.isInstance(edit)) {
@SuppressWarnings("unchecked") T inst = (T) edit;
return inst;
}
}
}
}
return null;
}
示例9: wrap
import javax.swing.undo.UndoableEdit; //导入依赖的package包/类
@Override
public UndoableEdit wrap(UndoableEdit ed, Document doc) {
if (!active.get()) {
return ed;
}
if (doc.getProperty(BaseDocument.StreamDescriptionProperty) == null) {
//no dataobject
return ed;
}
UndoableEditDelegate current = new UndoableEditDelegate(ed, (BaseDocument) doc, performer);
UndoableEditDelegate first = docToFirst.get(doc);
if (first == null) {
docToFirst.put((BaseDocument) doc, current);
}
return current;
}
示例10: addEdit
import javax.swing.undo.UndoableEdit; //导入依赖的package包/类
@Override
public boolean addEdit(UndoableEdit anEdit) {
if (!isInProgress()) {
return false;
} else {
UndoableEdit last = lastEdit();
// If this is the first subedit received, just add it.
// Otherwise, give the last one a chance to absorb the new
// one. If it won't, give the new one a chance to absorb
// the last one.
if (last == null) {
edits.add(anEdit);
}
else if (!last.addEdit(anEdit)) {
if (anEdit.replaceEdit(last)) {
edits.remove(edits.size()-1);
}
edits.add(anEdit);
}
return true;
}
}
示例11: getUndoPresentationName
import javax.swing.undo.UndoableEdit; //导入依赖的package包/类
@Override
public String getUndoPresentationName() {
UndoableEdit last = lastEdit();
if (last != null) {
return last.getUndoPresentationName();
} else {
String name = getPresentationName();
if (!"".equals(name)) {
name = NbBundle.getMessage(ContentEdit.class, "AbstractUndoableEdit.undoText.param", name); // NOI18N
} else {
name = NbBundle.getMessage(ContentEdit.class, "AbstractUndoableEdit.undoText"); // NOI18N
}
return name;
}
}
示例12: getRedoPresentationName
import javax.swing.undo.UndoableEdit; //导入依赖的package包/类
@Override
public String getRedoPresentationName() {
UndoableEdit last = lastEdit();
if (last != null) {
return last.getRedoPresentationName();
} else {
String name = getPresentationName();
if (!"".equals(name)) {
name = NbBundle.getMessage(ContentEdit.class, "AbstractUndoableEdit.redoText.param", name); // NOI18N
} else {
name = NbBundle.getMessage(ContentEdit.class, "AbstractUndoableEdit.redoText"); // NOI18N
}
return name;
}
}
示例13: addEdit
import javax.swing.undo.UndoableEdit; //导入依赖的package包/类
@Override
public boolean addEdit(UndoableEdit edit) {
if ((lastEdit() != null) && lastEdit().equals(edit)) {
return false;
} else {
return super.addEdit(edit);
}
}
示例14: addEdit
import javax.swing.undo.UndoableEdit; //导入依赖的package包/类
private void addEdit(UndoableEdit edit) {
if (compoundEdits.isEmpty()) {
UndoableEditEvent editEvent = new UndoableEditEvent(getMainList(), edit);
for (UndoableEditListener l : editListeners) {
l.undoableEditHappened(editEvent);
}
} else {
compoundEdits.peek().addEdit(edit);
}
}
示例15: main
import javax.swing.undo.UndoableEdit; //导入依赖的package包/类
public static void main(String[] args) {
final LinkedList<UndoableEdit> edits = new LinkedList<UndoableEdit>();
UndoableEditListener editListener = new UndoableEditListener() {
@Override
public void undoableEditHappened(UndoableEditEvent e) {
System.out.println(e.getEdit());
edits.addFirst(e.getEdit());
}
};
UndoableList<Integer> list = new UndoableList<Integer>(new LinkedList<Integer>());
list.addUndoableEditListener(editListener);
for (int i = 1; i < 10; i++) {
list.add(2*i);
}
System.out.println(list);
list.add(6, 13);
System.out.println(list);
list.set(3, 7);
System.out.println(list);
List<Integer> subList = list.subList(3, 6);
System.out.println(subList);
subList.set(0, 8);
System.out.println(list);
System.out.println(subList);
subList.remove(1);
System.out.println("----------------------------------");
for (UndoableEdit edit : edits) {
System.out.println("Undo " + edit);
edit.undo();
System.out.println(list);
}
}