else if (e.getSource() == me1 || e.getSource() == bt_undo
|| e.getSource() == popupMenu_Undo) {//撤销
tex.requestFocusInWindow();
if (undo.canUndo())
try {
undo.undo();
me12.setEnabled(true);//撤销回复
} catch (CannotUndoException ex) {
System.out.println("Unable to undo: " + ex);
ex.printStackTrace();
}
if (!undo.canUndo()) {
me1.setEnabled(false);//撤销
me12.setEnabled(true);//撤销回复
}
} else if (e.getSource() == me12 || e.getSource() == bt_redo
|| e.getSource() == popupMenu_Redo) {//恢复撤销
tex.requestFocusInWindow();
if (undo.canRedo())
try {
undo.redo();
me12.setEnabled(true);
} catch (CannotUndoException ex) {
System.out.println("Unable to redo: " + ex);
ex.printStackTrace();
}
if (!undo.canRedo()) {
me1.setEnabled(true);
me12.setEnabled(false);
}
}
//以下为实现撤销功能
tex.getDocument().addUndoableEditListener(new UndoableEditListener() {
public void undoableEditHappened(UndoableEditEvent e) {//添加撤销管理器
undo.addEdit(e.getEdit());
}
});
可以查API文档不知道的方法意思。
取消
评论