我有一个类似于 - 的接口层次结构
interface Type
{
Type copy();
};
interface SubType extends Type
{
};
interface SubSubType extends SubType
{
};
Run Code Online (Sandbox Code Playgroud)
还有一个具体的课程
public class Concrete implements SubSubType
{
@Override public Concrete copy() { return new Concrete(); }
}
Run Code Online (Sandbox Code Playgroud)
我希望能够在Type上调用copy()并获取Type返回,在SubType上调用copy()并获取SubType,等等.这是否可以实现?可能有仿制药?
提前致谢.
我的任务是为应用程序添加撤消/重做/重复功能.我正在调查是否可以使用Swing的UndoManager.
除了通常的撤消和重做按钮之外,我还需要提供一次撤消或重做多个编辑的功能(像MS Office一样下拉UI),并重复选择的编辑.
我相信我可以使用UndoManager进行多次撤消和重做.它提供了多次撤消和重做的方法.为了构建UI,我可以扩展UndoManager以显示它所拥有的编辑.
我不确定我是否可以使用UndoManager重复选择操作.我的第一个想法是扩展UndoManager并添加重复(编辑)方法.此方法将克隆或复制编辑,重做副本,然后将副本放在撤消堆栈的顶部.如果编辑实现Clonable,则编辑只能重复.
这看起来合情合理吗?有更好的解决方案吗?我应该自己滚动而不是UndoManager吗?提前致谢.