"I know it will be more than one language for the different OS's."
In some cases, this is unfortunately true. If you decide to take the c++ route, you may have trouble getting a game made for the Mac, as it does not have very good c++ support (it recommends objective C with Cocoa). If you choose Java, you will have the best multi-platform support, but the language is always changing constantly, and it is very slow compared to c++.
You may not have to use different languages sometimes, but you will have to make separate builds of libraries and your program to work on different operating/game systems.
From the sound of it, it looks like your best option would be Java with LWJGL.
It's up to you. Pick your poison.