我有一个带有 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) {
}
}
Run Code Online (Sandbox Code Playgroud)
当我然后创建一个按钮时,我所做的就是:
randButton = new JButton(Actions.RandomAction);
Run Code Online (Sandbox Code Playgroud)