Regardless of all else, do NOT setBackground(...) or setdoubleBuffered(...) or otherwise change the state of the component in any way in a painting method override (line 51 of the posted code).
Also, adding a component to its viewport is NOT the correct way to use a JScrollPane. Read the API and follow the link to the tutorial to learn how to correctly use scroll panes.
You would also do well to get rid of all redundant code before posting on a forum.
setting the content pane's layout to BorderLayout -- which it is, by default (07)setBackground calls that are irrelevant to the stated problem (11, 29, 51)setColor(...) calls that each supersede tha last (48, 50, 53)
And if this is a standalone application, as evidenced by a main(...) method, why do you extend JApplet?
Applets are meant for diaply in a browser.