Я пишу программу, которая рисует aws несколько прямоугольников, овалов и линий, когда пользователь выбирает соответствующие кнопки и щелкает панель рисования в программе. Это работает, но когда я нажимаю кнопку другой фигуры сразу за другой, фигуры до этого остаются на панели и не go.
Коды:
public void paint(Graphics g) {
super.paint(g);
g.setColor(MyApp.c);
Graphics2D g2d = (Graphics2D) g;
if(MyApp.choice == 1) {
for (int i = 0; i < MyApp.rectangles.size(); i++) {
g2d.drawRect(MyApp.rectangles.get(i).x, MyApp.rectangles.get(i).y, 150, 200);
}
}
if(MyApp.choice == 2) {
for (int i = 0; i < MyApp.ovals.size(); i++) {
g2d.drawOval(MyApp.ovals.get(i).x, MyApp.ovals.get(i).y, 150, 200);
}
}
}
public void mouseClicked(MouseEvent e) {
if(move_flag == false) {
x = e.getX();
y = e.getY();
}
else {
Points p = new Points();
p.x = e.getX();
p.y = e.getY();
rectangles.add(p);
}
repaint();
if(move_flag == false) {
x = e.getX();
y = e.getY();
}
else {
Points p = new Points();
p.x = e.getX();
p.y = e.getY();
ovals.add(p);
}
count++;
label.setText("Number of Shapes: " + count);
repaint();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == rectangle) {
move_flag = true;
choice = 1;
} else if (e.getSource() == oval) {
move_flag = true;
choice = 2;
}