Я пытаюсь создать Java-апплет, который позволил бы мне нарисовать структуру данных графа на холсте. Я сделаю это, щелкнув там, где я хочу создать узлы, и щелкнув узлы, чтобы соединить их. Проблема в том, что я не могу заставить метод paint()
вести себя правильно. Я добавляю новые узлы на график (и квадраты на холсте) внутри метода mousePressed(MouseEvent e)
, используя
Graphics g = this.getGraphics();
g.setColor(Color.blue);
g.fillRect(e.getX(), e.gety(), 40, 40);
Все работает нормально, пока я не изменю размеры окна, а затем все заполненные прямоугольники не исчезнут. Я переопределил метод рисования просто пустым методом, но все равно происходит то же самое. Я не могу добавить команды fillRect внутри paint (), потому что я не знаю, какие прямоугольники существуют, пока пользователь не взаимодействует с ним с помощью мыши.
Как я могу использовать g.fillRect()
внутри методов прослушивания мыши и заставить их придерживаться?