Yeah, a few notes:

paintComponents() isn't completely right, as It's actually paintComponent()
You're using a lot of unnecessary code
f.show() is depreciated, stick to setVisible()