I don't see where you've added the JPanel to the JFrame!
Are you even getting a proper frame size to display? Is it blank? I think when drawing directly on a JFrame, as you are doing, one has to draw on a specific layer--a display layer of some sort which I can't recall off the top of my head. I'm more used to adding a JPanel to a JFrame, and putting the graphics on the JPanel rather than the JFrame.