Очистка графики от метода внешнего класса - PullRequest
0 голосов
/ 31 октября 2019

Итак, у меня есть проект колледжа по созданию программы рисования с использованием свинга, мне нужно очистить объект Graphics, но из метода внешнего класса, а затем снова рисовать все фигуры (обновляя графический объект), пока я передаю графикуобъект через этот метод.

класс отвечает за сохранение всех фигур, которые я рисую на этой графике (в ArrayList).

ТАК как я могу это сделать, если я не могу вызвать Super. paintComponent, существующий в классе Jpanel.

Ответы [ 2 ]

1 голос
/ 31 октября 2019

, когда я передаю графический объект с помощью этого метода.

Вы НЕ должны передавать объект Graphics. Метод paintComponent () (или любой другой метод, который вызывается) всегда должен использовать объект Graphics, переданный методу paintComponent ().

Так как я могу это сделать, если не могу вызвать Super.paintComponentкоторый существует в классе Jpanel.

В классе, где вы выполняете пользовательскую рисование, вы создаете метод clear(). Это просто удалит все объекты Shape из ArrayList и затем вызовет repaint ().

См. Пример DrawOnComponent из Пользовательские подходы к рисованию , который демонстрирует, как это делается.

0 голосов
/ 31 октября 2019

Нашел очень простой ответ: «Нарисуйте белый прямоугольник, затем нарисуйте фигуры снова»

, который просто решил бы мою проблему :)

...