Сбросить графику в JPanel - PullRequest
       42

Сбросить графику в JPanel

1 голос
/ 11 октября 2011

Следующий код Рисует структуру молекулы. Если я не передам молекулу, последняя структура продолжит обнаруживаться в JPanel. Как мне сбросить это на пустой холст, когда нет молекулы. Другими словами, что я должен поместить в else {} метода drawMolecule ()?

1 Ответ

2 голосов
/ 11 октября 2011

Вы можете создать новый BufferedImage в else, или вы можете получить компонент Graphics2D в BufferedImage, установить его цвет фона с помощью setBackground(Color c), а затем очистить изображение с помощью clearRect(...), а затем избавиться от объекта Graphics2D, когда это будет сделано с помощью dispose() метод.

На самом деле, при просмотре вашего кода я не вижу, как вы это делаете.Не забывайте утилизировать ресурс Graphics или Graphics2D, когда будете использовать их, если вы их создали сами (не если они получены из JVM, скажем, с помощью метода paint или paintComponent).

...