`
saga_java
  • 浏览: 14931 次
  • 性别: Icon_minigender_1
  • 来自: Georgia
社区版块
存档分类
文章列表
三, UndoManager 要实现多次的Undo,Redo,必须要有一个数据结构管理多个UndoableCommand, 这个数据结构可以有多种选择, ArrayList, LinkedList, Stack等都可以。这里用下标访问元素的操作要多一些,所以采用ArrayList。另外,还要考虑 ...
三, DrawLineCommand,实现一次Undo/Redo功能 一个继承了UndoableCommand提供具体的撤销/恢复功能的子类,就可以实现一次Undo/Redo。这里实现一个在容器上画直线的子类DrawLineCommand,带有擦除和重画直线的功能。 import java.awt.Color; import java.awt.Container; import java.awt.Graphics; import java.util.Random; public class DrawLineCommand extends UndoableCommand {     pri ...
Undo/Redo是软件的一个常用功能,Java 在swing中提供了Undo包, 提供了对JTextComponent组件的Undo/Redo支持。但是除了文本处理以外的Undo/Redo一般要自己实现,而且即使是文本处理的Undo/Redo, 好像也有些不足,例如输入时Undo/Redo是一个一个字符的,如果要做到WORD的一次一串字符撤销/恢复,也要自己实现。最近,研究了一下Undo包, 发现它的类还是比较复杂的。那么,能用简单的方法实现自己的Undo/Redo系统吗?网上的答案一般是用Command模式, 但很难看到简单易懂的实现方式。这里,本文试图通过自己的理解实现一个简单的Undo/ ...
Global site tag (gtag.js) - Google Analytics