Unable to initialize JAWT

No. Some public and private organizations use it, it is far from the death. Sun no more cares of it but JOGL maintainers are still there, Sven, Bienator and some other people still contribute to this community project. cylab and I fixed some bugs in the JOGL renderer of JMonkeyEngine 2.0, the biggest 3D engines written in Java use optionally this API (Ardor3D, JMonkeyEngine 2 & 3, Xith3D, Aviatrix3D, …).

Please Pierre, try to use the property sun.awt.noerasebackground too, I’m not sure it will solve your problem.

true or false ?
change nothing

My code doesn’t work on my mother’s computer (old laptop)
Same error message.

I think something is wrong in my code or in my Eclipse project …
I’ll send screenshots

my code


import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLEventListener;
import javax.media.opengl.awt.GLCanvas;
import javax.swing.JFrame;

import com.sun.opengl.util.Animator;

public class TestJOGL
{
	public static void main(String[] args)
	{
		System.setProperty("sun.java2d.noddraw", "true");
		// System.setProperty("sun.awt.noerasebackground", "false");
		
		JFrame frame = new JFrame();
		frame.setSize(640, 480);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		GLCanvas canvas = new GLCanvas();
		canvas.addGLEventListener(new GLEventListener()
		{
			public void reshape(GLAutoDrawable arg0, int arg1, int arg2, int arg3, int arg4)
			{
			}
			
			public void init(GLAutoDrawable arg0)
			{
			}
			
			public void dispose(GLAutoDrawable arg0)
			{
			}
			
			public void display(GLAutoDrawable arg0)
			{
			}
		});
		Animator animator = new Animator(canvas);
		frame.add(canvas);
		frame.setVisible(true);
	}
}

Error message :


Exception in thread "main" java.lang.RuntimeException: Unable to initialize JAWT
	at com.sun.nativewindow.impl.jawt.JAWT$1.run(JAWT.java:100)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.nativewindow.impl.jawt.JAWT.getJAWT(JAWT.java:95)
	at com.sun.nativewindow.impl.jawt.windows.WindowsJAWTWindow.lockSurface(WindowsJAWTWindow.java:69)
	at com.sun.opengl.impl.GLDrawableImpl.lockSurface(GLDrawableImpl.java:130)
	at com.sun.opengl.impl.windows.wgl.WindowsWGLDrawable.setRealized(WindowsWGLDrawable.java:70)
	at javax.media.opengl.awt.GLCanvas.addNotify(GLCanvas.java:413)
	at java.awt.Container.addNotify(Container.java:2661)
	at javax.swing.JComponent.addNotify(JComponent.java:4731)
	at java.awt.Container.addNotify(Container.java:2661)
	at javax.swing.JComponent.addNotify(JComponent.java:4731)
	at java.awt.Container.addNotify(Container.java:2661)
	at javax.swing.JComponent.addNotify(JComponent.java:4731)
	at javax.swing.JRootPane.addNotify(JRootPane.java:754)
	at java.awt.Container.addNotify(Container.java:2661)
	at java.awt.Window.addNotify(Window.java:722)
	at java.awt.Frame.addNotify(Frame.java:487)
	at java.awt.Window.show(Window.java:944)
	at java.awt.Component.show(Component.java:1564)
	at java.awt.Component.setVisible(Component.java:1516)
	at java.awt.Window.setVisible(Window.java:927)
	at TestJOGL.main(TestJOGL.java:39)

Eclipse screenshots :

http://img177.imageshack.us/img177/6510/testjogl.th.png


http://img192.imageshack.us/img192/1702/lib.th.png


http://img35.imageshack.us/img35/4696/libraries.th.png

Sorry do rather this:

System.setProperty("sun.awt.noerasebackground", "true");

Check that there is no other gluegen-rt.dll on your machine and try to launch the examples using JOGL 2 and Java Web Start in order to check if it really comes from your install.

already done, change nothing

i posted my eclipse config

Please check if you follow the indications that I put into my website:
http://tuer.sourceforge.net/download.php

If this is ok, I think we could conclude that you have found a bug in JOGL 2.

Use the demo of JOGL Gears (the one that uses JOGL 2) to check if it really comes from your install.

Which version of JOGL should i use to compile your project ? 2 ?
Where is JOGL Gears ?

But JOGL 1 works for me !
If i use JOGL 1 for your project, it will work !

JOGL 2 Gears works

It is a good piece of news, it is not a JOGL 2 bug ;D

My project uses JOGL 1.1.1a, I compile it sometimes with JOGL 1.1.2 but you cannot get it anymore publicly. Adapt the explanation on my website to JOGL 2. If it does not work, we will have to find another solution.

Pierre, as far as I know, we live in the same town, we don’t need VNC… (let us talk about it in private).

i too have this problem, and it seems to be an issue with the native method JAWT_GetAWT0(ByteBuffer).

Do you succeed in launching JOGL 2 gears?

I don’t need to test TUER, my small code is enough (imo).
Is my code correct ?
I think the problem is in my libraries import…

i’m trying to add “one by one” jar files in my project
i’ve this error message :


Exception in thread "main" java.lang.ExceptionInInitializerError
	at javax.media.opengl.awt.GLCanvas.<clinit>(GLCanvas.java:78)
	at TestJOGL.main(TestJOGL.java:18)
Caused by: javax.media.opengl.GLException: No profile available: [GL2, GL2ES2, GL2ES1, GLES2, GLES1, GL2GL3, GL3]
	at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:750)
	... 2 more

My problem is (maybe) fixed \o/
Use ALL .jar and .dll files was not good.

Now, i use only :
gluegen-rt.jar
jogl.all.jar
nativewindow.all.jar
gluegen-rt.dll
jogl_gl2.dll
nativewindow_awt.dll
nativewindow_jvm.dll

I can see my window, and the background is gray.

My GLCanvas is gray (inactive) with a JFrame, and black (active) with a Frame…

Ok so it works.

yep