Actually, none of those is precisely correct.
Calling repaint() registers the request to have the component repainted with the JVM, entirely indirectly. The JVM has a stack of these requests.
When the JVM gets around to it, the
Thread devoted to event handling is used to call the Component update method, which normally calls paint. However, update can be overriden also.
Bill
------------------
author of: