Я пытаюсь сделать башню из решателя Ханоя, которая просто решает Ханой без каких-либо событий мыши.Проблема в том, что когда я перемещаю прямоугольник, оригинал остается даже после перекраски.Я искал в сети и пытался изменить код, но ничего не получалось.Я использую JFrame с JPanel внутри него, если это что-то меняет.
Здесь у меня есть класс диска, представляющий собой просто прямоугольник с цветом.
class Disk extends Rectangle {
Color diskColour;
public Disk(int a, int b, int c, int d, Color colour) {
x = a;
y = b;
width = c;
height = d;
diskColour = colour;
}
public Color getColour() {
return diskColour;
}
public void paintSquare(Graphics g) {
repaint();
g.setColor(diskColour);
g.fillRect(x, y, width, height);
repaint();
}
}
Вот мой код, который я на самом деле вызываюметод paintSquare:
public void simpleMoveDisk(Disk[] disks, int n, Graphics g) {
disks[n].setLocation(30,25);
disks[n].paintSquare(g);
repaint();
}
Метод paintSquare раскрашивает диск, а метод setLocation меняет его координаты.Когда это выполняется, прямоугольник появляется в новом месте, однако старый все еще остается.Любая помощь приветствуется, спасибо заранее.