我有一个名为“线”的线对象的 ArrayList。我制作了自己的线条类来绘制带有一些约束的线条。它涉及在面板中选择两个点,然后绘制一条连接这两个点的线。每次创建一条线时,它都会添加到“线”中。线条在面板中绘制。
我面板中的绘制函数如下所示:
public void paintComponent(Graphics g){
super.paintComponent(g);
for(final Line r:lines){
r.paint((Graphics2D)g);
}
}
每次在面板上单击两个点,都会创建一条新线。
class Board extends JPanel{
public void placeLine(){
Point p1,p2;
JLabel l1,l2;
...
lines.add(new Line(p1,p2,l1,l2));
this.repaint();
}
public void deleteLine(Line l){
lines.remove(l);
}
}
我想在其中创建一个 UndoAbleEdit,每次我撤消时,撤消方法都必须恢复到最后一个操作(即创建一行或删除一行)。我已经尝试撤消 JTextArea 中的事件,但我不知道如何为 ArrayLists 中的事件更改构建自定义撤消。建议一个这样做的例子。
我真的很抱歉没有将它作为 SSCCE 发布。这是一个巨大的项目,几乎不可能创建 SSCCE。