Later on when the game is pretty much complete I will try using a library later on for the graphics.
I wouldn't recommend this. Just go with a library from the start. A library such as slick doesn't just turn graphics into an image that you can willy nilly paint on a JFrame....it has its own windowing system. There is little advantage, even an educational advantage, with trying to go "vanilla" java at the beginning...especially with Sick because it is designed to resemble the Java 2D graphics API and is even easier to use than regular Java. Even if you are just trying to make a basic working plan, Slick and similar libraries are designed for fast development(they write the code so you don't have to), which is what you want in a learning or prototyping environment.