JPanel Очистка и перерисовка графики?

У меня есть JPanel с функцией paintComponent () . Я вызову ее один раз, а затем, когда пользователь щелкнет другую JButton , я установлю какой-то флаг и захочу снова вызвать эту функцию, поскольку она будет делать что-то немного другое после установки флага.

Вот что мне интересно: как мне очистить существующий материал от paintComponent ? А чтобы перерисовать, мне просто снова вызвать paintComponent ?

В настоящее время я пробую следующее:

flag2 = true;
repaint(); //I expect (want) paintComponent to be called again

В компоненте рисования я делаю что-то вроде:

if (flag2==true) {
    g.drawRect(...);
} else {
    g.drawLine(...);
}

Но при тестировании кажется, что что-то не так с тем, что я делаю.

Спасибо за любую помощь.

8
задан mKorbel 1 August 2011 в 18:54
поделиться