Well to save you from the confusion of all the different tools out there, let me explain:
-For now since you are a beginner, learning Java syntax, core classes, and command line stuff is very important and should be your first priority. Unlike both earlier replies, do not jump straight into graphics. Make basic command line games using ASCII art. Make almost any game you can think of for the command line. Eclipse is a very useful and powerful tool and as much as you may like it too, I also recommend you to start with the command line. Write an entire command line app using just notepad, compile it, and run it. Start using packages and experience the pain and confusion of compiling and running programs that are in packages.
I did some simple programs with the command line. The compiling was too much of a pain for my liking. I never got into packages though. I'll look them up. thenewboston seems like there are some pretty indepth tutorials. I think there was one that explains packages.
-When you feel you know and understand Java well enough, jump into graphics using Java2D. Java2D is the java.awt packages and subpackages. These allow you to do custom drawing and offer very, very powerful tools for making 2D graphical apps and games. Also you may learn Swing, Java's GUI widget toolkit. It offers nice tools for making GUIs (Graphical User Interface).
The 2D games are what I'm hoping to towards the middle/end of my summer vacation.
-While you are becoming proficient with Java2D, you will learn and accept one grave and heart-breaking truth: Java2D is slow and unsuitable for professional and graphically expensive games. However, despite this shortcoming, it is the perfect playground for gaming beginners. I advise you to not advance until you have learned basic game systems, designs, code architectural organization, etc...
Nooooo... I hate heart-breaking truths. They're unavoidable though. Thanks for the heads up.
-Finally, when you notice you are ready for hard-core, speed-hungry games, you may jump into the OpenGL bandwagon. OpenGL is a portable high-level API to interface with graphics cards. It is portable in the sense that it works on almost all graphics cards and all systems, and high level since it abstracts away the differences in graphics card functions and drivers. This means you get to skip the slowness of Java2D is be able to directly access the power and performance of raw graphics card awesomeness. This may all seem neat and amazing but there is 1 drawback......its API is written in C (another language). This means you can't really access it directly from Java without writing native code doing a lot of complicated stuff. Well fear not, a bunch of really cool people wrote a library that lets you access these functions and more, and these cool people named it the Lightweight Java Game Library (LWJGL). As gouessej mentioned, another group of cool people wrote a similar library and called it JOGL. They are both almost exactly the same and the only difference is in your perception of it and your choice. However, it seems the LWJGL community is far bigger than the JOGL community and there is a lot more support for it.
I knew about the LWJGL. I took a peak at some of the documentation and it looks really confusing to me. I bet if I look back at it once I become proficient enough, I'll wonder what I was thinking at this point in time. One question though: What do you they are both "almost" exactly the same? Are there subtle differences or one or two major differences?
EDIT: I'm expecting 20 medals from typing out this entire thing