我有一个应用程序,其中包含一个JPanel和按钮,用户可以单击按钮在面板上绘制形状。您可以对形状进行着色和调整大小,并将其移动到面板中。如何为这样的应用程序实现撤销和重做?我有一个Actions类,其中实际上实现了所有操作。在这个类中,每个操作都是它自己的类,扩展了AbstractAction。我的Actions类基本上是一个嵌套类。
例如,这是我的Actions类中的一个类:
private class RandomAction extends AbstractAction {
private static final long serialVersionUID = 1L;
public NewAction(String text, ImageIcon icon, String desc){
super(text, icon);
putValue(SHORT_DESCRIPTION, desc);
}
public void actionPerformed(ActionEvent e) {
}
}
当我创建一个按钮时,我所做的就是:
randButton = new JButton(Actions.RandomAction);