Is this the correct approach to animation in Java?
Two recommendations:


It is better that you don't "do any action" in the constructor; create, say, a .start() method and do new Main().start() in main();
rather than testing on count in animation, use this, where nrImages is the number of images:

count = (count + 1) % nrImages;



Also, declare your list as a List, not an ArrayList: use interfaces when available.