There are some particular API’s in Java that make it very good. However I would prefer C++ because of performance and “bleeding” edge support with OpenGL and OpenAL among the many libraries.
Which API’s are there that are similar to Java2D (I know I can use OpenGL however I lack the matrix math understanding to fully use OpenGL in this way)? Also which GUI framework (non-native; platform independent) is the most used in C++?
FLTK, Fast Light Tool Kit has some 2d functionality. It’s somewhat like swing and 2d mixed together. It does focus more on the UI aspect but it may help you out.
http://www.fltk.org/