what API is better and why?
Its not really as simple as that.
JOGL only provides you OpenGL access. LWJGL is an API supporting OpenGL, OpenAL and some input related stuff. Depends on whether you want it all done by the one API.
LWJGL isn’t dependant on AWT, JOGL is. LWJGL therefore allows you deploy smaller executables.
JOGL is backed by SUN, LWJGL is backed by their community. Some people want one thing, some people want others.
Graphics performance shouldn’t be too different between either one although you might want to check out the Java Cool Dude demo collection to be sure of this.
For me, LWJGL seems less documented (tutorials wise), but of course this could be rectified pretty quickly. LWJGL seems to be aimed more at people who already know what they’re doing.
Opinions, obviously…
Kev
What kev said 
Jogl, Joal and Jinput do about the same as lwjgl does.
However, I like the way lwjgl works a bit more. It’s nice that it works with floats like opengl does, it’s nice that you don’t need to forward the gl context through your programm and I also like how input is handled - it’s dead easy whereas I don’t even have a clue how to do that with jinput (I looked at jinput much longer and didn’t get anywhere).
The whole process feels also quite interactive, wich is a big plus imo.
But… that’s just me. Decide for yourself.
Oh I forgot… the glu implementation of jogl is more complete right now than lwjgl’s (maybe lwjgl will catch up in the next months).
LWJGL is far simpler than JOGL and has IMHO cannot be used for general applications:
LWJGL:
- no multiple windows
- no multiple Canvases
- no multihead head support
This makes LWJGL perfectly for games.
If you want to build a 3D level editor which mixes OpenGL perspectives and regular GUI widgets JOGL is the choice.
I have only taken a short glimpse at LWJGL’s other parts (OpenAL, input) but I think its a similar situation: Easyness comes at the cost of flexibility …
You choice!
Kev : who care of the API doc it’s just opengl/openal functions ?
I mean tutorials.
Kev
Copy the BaseWidow fro org.lwjgl.test.opengl and read OpenGL tutorials.
Yep, but some people arn’t as wonderfully intelligent as you. 
And to quote the LWJGL website:
Kev
[quote]LWJGL:
- no multiple windows
- no multiple Canvases
- no multihead head support
If you want to build a 3D level editor which mixes OpenGL perspectives and regular GUI widgets JOGL is the choice.
[/quote]
I appologize if I am completely wrong, as I most often am; but… If you look at the demo’s for JME (mojomonkeycoding.com) you will see just this. 4 canvases and gui widgets. From what I’ve seen, it looks like all the rendering is done using LWJGL. I’m just beginning to look through it so I could be off base here. However, from what I’ve seen it does look possible to create these features.
I’ve been in a similar pattern for the past 3 months. I’ve been trying to absorb as much as I can out of what is out there. My 3D skills are on the newbish side and I haven’t been developing in Java for too long either. I’ve looked at Xith, LWJGL, JOGL and various java game engines.
I noticed a lack of documentation for LWJGL right off the bat. I kept searching over the website thinking that I was missing something. Then I noticed in the faq that someone else had been trying to figure out the same thing; there isn’t any. On the otherhand, it seems straightforward enough that you “could” pick it up from the java doc.
From reading forums, I get the impression that there are some things missing in jogl. I also get the impression that even though jogl has the backing of Sun, it still doesn’t have that many active developers. I’m also curious to see what happens now that Sun has necro’d java3d. I haven’t found a whole lot of “jogl” documentation and code, but I have found some. Enough that you can couple it with the extensive amount of opengl documentation out there and really start to piece it together. It’s strongest attribute is it’s “standardness”. Although I’ve read of senarios where the tricks of regular opengl programming require alternate tweeking in the jogl world. That makes it slightly more challenging then porting some c++ code and thinking you’ve got some really slick optimized classes.
As I mentioned eariler, currently I’ve been looking at jME. There are a lot of little test programs that are easy to follow and the design is rather intuitive. I’ve found it to be a good learning tool, which for me was the most important.
My personal view is that there isn’t an API out there that takes the cake. I believe that java has a long life in the gaming world. Rightnow it is rather immature and very rapidly developing. Bottom line is, go with whatever you find easiest to learn; in another year we might all be using that new microsoft api that is supposed to replace directx. The way things are going, who knows.
jME uses OpenGL rendered widgets I was talking about Swing/AWT components and thats not possible with lwjgl cause it doesn’t even use (AWT) Frames.
Lets not this spread any more, there was an announcement recently saying that Sun were going to continue to support and develop Java3D in one way or another (it was yet to be decided whether Sun, or OpenSource).
Kev
It’s also slightly inaccurate to say you can’t use AWT and Swing with LWJGL - you can, but not in the same window, and there are some mouse & keyboard interaction issues you need to understand.
Cas 
Gotta love that turn of phrase ;)…
Anyway, more to the point, we have a “JOGL vs LWJGL” article in the works right now. Cas has already had a first go at the LWJGL side (although, Cas, I’m still eagerly awaiting those extra details I was asking about :)). However, I haven’t got anything from a hardcore JOGL dev/user yet.
If you are really interested/desperate for this article, feel free to bug me on ceo @ grexengine.com. The more evidence for people’s need for this, the easier it is for authors to find the motivation to finish them (e.g. I get the impression that KG’s rapid followup articles to SpaceInvaders 101 were in no small part spurred by all the people who expressed their gratitude!).
You might also want to vote here to make it clear what articles you want:
http://www.java-gaming.org/cgi-bin/JGNetForums/YaBB.cgi?board=News;action=display;num=1082290835
Sure I can’t give it you in OO1.1.1 format?? It’d make life tons easier for me
unless of course plain ascii will do… (haven’t the time to go marking it up)
Cas 
[quote]Sure I can’t give it you in OO1.1.1 format?? It’d make life tons easier for me
unless of course plain ascii will do… (haven’t the time to go marking it up)
Cas 
[/quote]
Sorry about that; actually plain ASCII would be easier than OO (bizarrely - OO still has a few major problems with cut/paste under Unix :(), so long as each para is separated by blank line, and ditto for each heading.
Roll on the day when OO has a really good HTML exporter…