Я написал этот код, который отображает фигуру при щелчке мышью, но у меня проблема. Когда я нажимаю на новое место, форма исчезает на предыдущем. Как я могу остановить это?Как остановить фигуру от исчезновения при нажатии на новое место?
Первый класс:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class MouseClick {
private static int x,y;
private static DrawingObjects object = new DrawingObjects();
public static void main(String[] args){
JFrame frame = new JFrame("MouseClick");
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.add(object);
object.addMouseListener(new AL());
}
static class AL extends MouseAdapter{
public void mouseClicked (MouseEvent e){
x = e.getX();
y = e.getY();
object.drawing(x, y);
}
}
}
Второй класс:
import javax.swing.*;
import java.awt.*;
public class DrawingObjects extends JPanel{
private static int x,y;
public void drawing(int xx, int yy){
x = xx;
y = yy;
repaint();
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.fillRect(x, y, 20, 20);
}
}
Вы сохраняете только последний клик расположение в 'DrawingObjects 'класс. Таким образом, предыдущие прямоугольники, которые вы нарисовали ранее, исчезнут. – Blip
@Blip Итак, я должен использовать arraylist? – ItssMohammed
Да, вы должны использовать Список для хранения предыдущих кликов. – Blip