Рисование прямоугольника, который не исчезнет в следующей краске
Я пытаюсь создать JPanel, который рисует прямоугольники. Панель должна рисовать много прямоугольников, но они не двигаются.
Одним из решений моей проблемы было создание списка со всеми прямоугольниками, которые я уже создал, и рисование их всех при каждом вызове «Paint». Но прямоугольников много, и это замедляет работу компьютера.
Я также попытался использовать repaint (x, y, height, width), чтобы перекрасить только пространство нового прямоугольника, но это не сработало. (JPanel продолжает стирать предыдущие прямоугольники.)
В своем роде мне нужно рисовать прямоугольники, которые не исчезнут с каждой краски. Или метод рисования, который не стирает предыдущие рисунки, или не рисует фон.
Это часть моего класса JPanel:
class MyPanel extends JPanel{
private int x, y, size;
private Color c;
public void DrawRect(int x, int y, int size, Color c){
this.x = x;
this.y = y;
this.size = size;
this.c = c;
repaint();
}
@Override
public void
paint(Graphics g) {
g.setColor(c);
g.fillRect(x, y, size, size);
}
}