我在面板中有一个名为Undo的按钮,下面是代码。我的问题是,在我点击撤消后,重复了需要执行的操作。 我将撤消的inicialization代码放在我的Jpanel的构造函数中后解决了这个问题。我知道这与重新绘制有关,并且可能与线程有关,但我希望有一个更清晰的explonation,如果可能有更好的理解。
public void paintComponent(Graphics g)
{
/*
* Some other actions.
*/
undo.setLocation(535 , 680);
undo.setSize(100 , 40);
undo.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e)
{
System.out.println("Inside Action Performed");
gameBoard.undoMove();
repaint();
}
});
add(undo);
}