Thanks all for your replies (and sorry for my approximate english writing)
It looks ok now ; my renderers were wrong and not dealing properly shared datas ; no troubles with multi-threading or so ! The code in my first post is ok. I'm sorry for making you waste your time.
I saw a previous thread on the same kind of trouble ; it was said in it to use a single animator for many canvases, and to deactivate autoSwapBuffering.
By the way, my GUI works with autoSwapBuffering enabled and with 2 animators, but that was an interesting way to explore.
However, I dont really understand the behaviour of all this. Where could I find some ressources on the subject ? How buffer swaping works or should work in a multi canvases context ?
do you need to use 2 canvas's? Why not just use multiple view ports?
I worked and thought on such a solution. However technics are much more complicated (i'm quite a beginner using opengl and dont want to go to far in it for now). And in my case, the idea was to create a GUI that mixes 3d rendering and other swing components (buttons, trees ... ) so that i dont have to re-create a 3d JTree-like component. I searched for a kind of jogl GUI "library", but couldn't find one.
Another question I cant find no response is about the "theory and technics" on the popup windows and dialogs in games.
Let's take Minecraft for example ; when you open the main menu, or the "material" menu : how does it work ? I guess he doesnt use a JFrame or JDialog ... Does he render the menu or dialog in a texture and rendering this texture over the main scene ? But with non modal dialogs how should this work ?
Thanks in advance