I've been stuck on one thing, and this will most likely come off as an extremely stupid question, but I thought I would give it a shot

I want to have animated characters on my screen, but if I do this, I have to loop and call repaint() all of the time even when my own character isn't moving.
This means I can't have any messages go to the screen, because they'll be wiped off everytime.
What I'm planning on doing is:
1. Painting the tiles (water, ground, path, grash, etc.).
2. Painting objects (trees, treasure chests, people).
The people will be special tile objects that will have their own animation sequences so they look like they're waddling, sleeping, or doing something in their area.
Should I just paint them all to the screen with everything else and loop their animations and call "repaint()" all of the time, or should I create a label or panel object the size of the tile and have that panel object run it's own paint() method?