У меня есть JPanel
с функцией paintComponent()
.Я вызову его один раз, затем, когда пользователь щелкнет по другому JButton
, я установлю какой-нибудь флаг и захочу снова вызвать эту функцию, поскольку она будет делать что-то немного другое после того, как этот флаг установлен.
Итак, вот что мне интересно: как я могу удалить существующий материал из paintComponent
?И чтобы перерисовать, я просто позвоню paintComponent
снова?
В настоящее время я пытаюсь сделать следующее:
flag2 = true;
repaint(); //I expect (want) paintComponent to be called again
В компоненте рисования я делаю что-то вроде:
if (flag2==true) {
g.drawRect(...);
} else {
g.drawLine(...);
}
Но при тестировании кажется, что что-то естьнеправильно с тем, что я делаю.
Спасибо за любую помощь.