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