I'm a C++ Software Engineer and I am interested in learning Java. I understand Java is completely self-contained as in Graphics, Sound, etc... are all Java based rather than C++ you have to hunt for the framework or API that provides what you want.

I also understand C++ and Java are practically on the same level, so I'm looking for information on converting over rather than a book which starts you from the beginning covering many aspects you already would know from c++ like switch statements.

As an example - System.out.println appears to be equal to C++'s STL cout.

Information on the difference between Java, JavaEE, and JavaFX would also be nice.

Help appreciated.