Swing components are by default double buffered, so this might not be the issue. You may wish to profile your code by printing out a bunch of times for certain routines...there are a few areas that...