Метод paint
вызывается Thread Event Dispatch Thread (EDT) и находится в основном из-под вашего контроля.
Он работает следующим образом: когда вы реализуете пользователя интерфейс (вызов setVisible(true)
в вашем случае), Swing запускает EDT. Этот поток EDT затем запускается в фоновом режиме, и всякий раз, когда ваш компонент должен быть окрашен, он вызывает метод paint
с соответствующим экземпляром Graphics
, который вы можете использовать для рисования.
Итак, когда компонент «необходимо» для перекраски? - Например, когда
repaint
Просто предположим, что он будет вызываться , когда это необходимо.