Java is a different language then c++ and thus has a different performance profile. So saying your Java version is the exact same as your c/c++ version is rather pointless with regards to compairing the performance of the two. Consider array access for an example. In c/c++ it is a simple indirect load/store to access an element. Java on the other hand will do bound checks so a simple array operation gets turned into two comparisons and the indirect load/store.
With that being said, my JOGL program runs much faster then I expected, and runs pretty much at same speed as some of our competting products who have written their stuff in c. Although mine has more features and is nifty looking. =)
With the information you have right now you have no idea why your project is slower then the c/c++ version. The best way to figure out why your Java program is slow is to profile it. Sun has a decent article (http://java.sun.com/developer/technicalArticles/Programming/perfanal/) that talks about how to use Java’s built in profiler and includes a simple program that can analyze the output (with a really horrible name).
If it shows you that your JOGL calls are slowing you down then try to reduce the number of calls you have to make by using either display lists or even better vertex arrays. I have found that vertex arrays are faster then display lists. Next make sure that you have enabled/disabled everything that is needed. For example, make sure you are culling the back faces.
Let us know what you found out after using the profiler.
Michael