Whoa so much confusion in this thread. Here's a brief overview:
- Swing is built on AWT. Swing draws its components using AWT's Graphics object, so there's no point in using Swing unless you want a "pretty" and cross-platform GUI (buttons, dropdowns, etc...)
- @philfrei, JFrame extends JWindow, so they are virtually the same except JFrame has the decorations (title bar, border, X/min/max buttons)
- JPanel is a container used for organizing GUI elements, NOT to draw into as millions of online tutorials teach >.>
- Since Java2D (AWT) is somewhat slow, it's best to not use Swing (you don't need it, it's best to build your own GUI) and use the purest abstraction: java.awt.Canvas as mentioned by jonjava and co.
For more information on how to make Java2D games, read this post
For more information on LWJGL, read this post