A frame is an AWT component(well this is the older classes for java GUI development) which uses native OS GUI support
A JFrame is a Swing component which is the newer one, well today's java GUI development uses mostly Swing as an advantage you can have a lot of community support on it. as far as I know Swing has LookAndFeel Feature that you can configure to change the look of your GUI with just few line of codes.
http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/