Welcome to JavaRanch, from one Ernest to another!
Java has a special
thread called the
Event Dispatch Thread. It has two important jobs: one is to call event handlers like your
mouseClicked method, and the other is to call
paint() methods to repaint the screen. All of these things happen in the same thread. As long as an event handler method is running, no paint methods can be called, and vice versa. That explains why your pauses happen "all at once" -- you don't see any screen updates until your event handler returns.
Therefore it's important that such methods run quickly and return as soon as possible. If you have to do ongoing work -- as you always must when doing animation -- you
must do that ongoing work in a separate thread.
Here is an article about using a thread to do animation in Java.