Would you say it's worth the time in learning C++ and dealing with all the learning pitfalls so I can work with better game APIs and have more support? I feel like my main issue is just that it's really hard to find a good game programming book in Java.
Well, the ultimate goal of every programmer is to ignore language and focus on concepts, ideas and their respective solutions. Not that Java is a bad language for game development, although I'm sure you already know that.
You will mostly be doing the same things in C++ as you are doing in Java, except everything takes more time and you have alot more room to express yourself in the code. Which can be a good thing and a bad thing depending on the alignment of certain planets.
If you think finishing your current game is going to teach you alot (it probably is, if its a complex game), then don't. If it's just alot of boilerplate programming, like adding a menu or replacing assets with better ones, then just consider it complete. There can be alot of value in finishing things you start with, especially more complex projects. I made a legend of zelda game engine once upon a time, and I learned the most at the very end of the project. I had no books, and no one to teach me what to do, since this was before the age of the Intergoogle. I realized that I don't have to draw all the tiles that I can currently see on camera if I just combine them on a bigger texture that fits inside the screen (and slightly outside to make transitions look smooth). I learned to sort sprites by Z/depth, even if the algorithm was really shitty. I learned how to blend a layer of clouds and a shitty sunshaft animation on top of the screen to make a cool effect that I didn't really like. And I also learned a little bit of C to create effects like snow-flakes falling down, or sand blowing in the wind. In other words, there's always something more you can do, and it can really just go on forever if you're like me.
In the end, I regretted not learning c++ sooner. Just make sure if you do go the C++ route to REALLY investigate what the absolute easiest route to getting started is. And make sure your setup is not a hinder. Download free MSVC++ for windows, or Codelite for Windows/Linux. With Microsoft VC++ you get the (locked-in) compiler, but the IDE is the best around. Codelite isn't the worst, and with it you can use the GNU compiler suite (mingw64 / TDM-GCC-64 on windows) and on linux it's just a "sudo apt-get install g++" away. I recommend Microsofts IDE btw. as it sets things up for you and "it just works."
Churn through some tutorials to get the basics of the language, make sure you READ THE RESPECTIVE C++ Reference on each and every little thing you do, since it's actually very informative. And there are occasional examples. For example, C++ strings: http://www.cplusplus.com/reference/string/string/
After that, consider using SDL2 (or later) or SFML for graphics programming. Note that SDL is a complete framework that includes sound/streams, networking and all that fancy stuff.
The cplusplus.com tutorial section: (not sure how good it really is)
http://www.cplusplus.com/doc/tutorial/