Start by doing some debugging. Add some println statements to the code to show you what it is doing.
For example in the paintComponent() methods print out where the drawing is being done and where...