java撤销问题!

来源:百度知道 编辑:UC知道 时间:2024/05/23 02:10:46
UndoManager undo = new UndoManager();
Documentdoc = p2.getDocument();
undoRedoDefine();
public void undoRedoDefine() {
doc.addUndoableEditListener(new UndoableEditListener() {
public void undoableEditHappened(UndoableEditEvent arg0) {
doc_addEdit(arg0);
}
});
addActionMap();// 添加撤消所需的定义
}
public void addActionMap() {
p2.getActionMap().put("Undo", new AbstractAction("Undo") {
public void actionPerformed(ActionEvent arg0) {
if (undo.canUndo()) {
undo.undo(); }
}
});
p2.getInputMap().put(KeyStroke.getKeyStroke("control Z"), "Undo");
}
public void doc_addEdit(UndoableEditEvent e) {
undo.addEdit(e.getEdit());
}
这是我在网上找的一段代码,可以使用。当然是整合后的,我把有效部分贴了出来,这个代码的结果就是ctrl+z可以实现撤销。但是我想通过一个button来实现撤销,不知道该怎么弄。哪位大师能教下我,不胜感谢。
p2是个容器。。我这不是可运行代码只是主要代码,我就是想问如何用button实现撤销!!!!
参考什么什么什么?
拜托说详细点,我要你那点代码做什么!!!!!!!!!!!
下面给的地址我看了下,看完了

很简单啊,对你这个button建立一个监听,例如

JButton button = new JButton();
button.addActionListener(new ActionListener(ActionEvent e){
public void actionPerformed(ActionEvent e){
//你做撤销操作的这段代码
}
});

参考下这个吧。
点击完整代码。能看到完整的代码。
再不会再说

http://www.ibm.com/developerworks/cn/java/l-undo/
不好意思。忘记了给你链接~

分这么高啊!怪诱人的,只可惜我不会,要不然我一定答……