darph
2005-11-07, 16:05:24
Netmal so ein dummes Hell JOGL Programm krieg ich zum laufen. :(
Exception in thread "main" java.lang.UnsatisfiedLinkError: JAWT_GetAWT0
at net.java.games.jogl.impl.JAWTFactory.JAWT_GetAWT0(Native Method)
at net.java.games.jogl.impl.JAWTFactory.JAWT_GetAWT(JAWTFactory.java:37)
at net.java.games.jogl.impl.NativeLibLoader$1.run(NativeLibLoader.java:78)
at java.security.AccessController.doPrivileged(Native Method)
at net.java.games.jogl.impl.NativeLibLoader.load(NativeLibLoader.java:58)
at net.java.games.jogl.impl.GLContext.<clinit>(GLContext.java:52)
at net.java.games.jogl.impl.windows.WindowsGLContextFactory.createGLContext(Windows GLContextFactory.java:147)
at net.java.games.jogl.GLCanvas.<init>(GLCanvas.java:72)
at net.java.games.jogl.GLDrawableFactory.createGLCanvas(GLDrawableFactory.java:150)
at net.java.games.jogl.GLDrawableFactory.createGLCanvas(GLDrawableFactory.java:118)
at net.java.games.jogl.GLDrawableFactory.createGLCanvas(GLDrawableFactory.java:85)
at test.JOGLRotatingSquare.getGLCanvas(JOGLRotatingSquare.java:46)
at test.JOGLRotatingSquare.<init>(JOGLRotatingSquare.java:22)
at test.JOGLRotatingSquare.main(JOGLRotatingSquare.java:51)
jogl.jar und jogl natives sind jeweils vom 12. Juli 2005.
die .jar hab ich in lib\ext\ und die dlls in den bin\ Ordner (unter winxp) gepackt.
Und ehrlich zu sein, versteh ich jetzt nicht, was er von mir will. :/
package test;
import net.java.games.jogl.GLCanvas;
import net.java.games.jogl.GLCapabilities;
import net.java.games.jogl.GLDrawableFactory;
import net.java.games.jogl.Animator;
import net.java.games.jogl.GL;
import net.java.games.jogl.GLEventListener;
import net.java.games.jogl.GLDrawable;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class JOGLRotatingSquare {
private static float angle = 0;
private static final int SIZE = 160;
JOGLRotatingSquare() {
GLCanvas canvas = getGLCanvas();
canvas.addGLEventListener(new RotatingSquareListener());
Animator anim = new Animator(canvas);
addCanvasToFrame(canvas, anim);
anim.start();
}
private void addCanvasToFrame(
GLCanvas canvas, final Animator anim) {
JFrame f = new JFrame("JOGL Rotating Square");
f.setSize(600, 400);
f.add(canvas);
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
anim.stop();
System.exit(0);
}
});
}
private GLCanvas getGLCanvas() {
GLCapabilities capabilities = new GLCapabilities();
return GLDrawableFactory.getFactory().
createGLCanvas(capabilities);
}
public static void main(String[] args) {
new JOGLRotatingSquare();
}
private void drawRedCenteredSquare(GL gl) {
gl.glColor3f(1, 0, 0);
gl.glRecti(-SIZE / 2, -SIZE / 2, SIZE / 2, SIZE / 2);
gl.glColor3f(0.0f, 0.0f, 0.0f);
}
class RotatingSquareListener implements GLEventListener {
public void init(GLDrawable drawable) {
GL gl = drawable.getGL();
gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); //erasing color
gl.glColor3f(0.0f, 0.0f, 0.0f); // drawing color
}
public void display(GLDrawable drawable) {
GL gl = drawable.getGL();
gl.glClear(GL.GL_COLOR_BUFFER_BIT);
drawRedCenteredSquare(gl);
angle++;
gl.glMatrixMode(GL.GL_MODELVIEW);
gl.glLoadIdentity();
gl.glRotatef(angle, 0, 0, 1);
}
public void reshape(GLDrawable drawable,
int x,
int y,
int width,
int height) {
GL gl = drawable.getGL();
gl.glViewport(0, 0, width, height);
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
gl.glOrtho(-width, width, -height, height, -1, 1);
}
public void displayChanged(GLDrawable drawable,
boolean modeChanged,
boolean deviceChanged) {
}
}
}
Exception in thread "main" java.lang.UnsatisfiedLinkError: JAWT_GetAWT0
at net.java.games.jogl.impl.JAWTFactory.JAWT_GetAWT0(Native Method)
at net.java.games.jogl.impl.JAWTFactory.JAWT_GetAWT(JAWTFactory.java:37)
at net.java.games.jogl.impl.NativeLibLoader$1.run(NativeLibLoader.java:78)
at java.security.AccessController.doPrivileged(Native Method)
at net.java.games.jogl.impl.NativeLibLoader.load(NativeLibLoader.java:58)
at net.java.games.jogl.impl.GLContext.<clinit>(GLContext.java:52)
at net.java.games.jogl.impl.windows.WindowsGLContextFactory.createGLContext(Windows GLContextFactory.java:147)
at net.java.games.jogl.GLCanvas.<init>(GLCanvas.java:72)
at net.java.games.jogl.GLDrawableFactory.createGLCanvas(GLDrawableFactory.java:150)
at net.java.games.jogl.GLDrawableFactory.createGLCanvas(GLDrawableFactory.java:118)
at net.java.games.jogl.GLDrawableFactory.createGLCanvas(GLDrawableFactory.java:85)
at test.JOGLRotatingSquare.getGLCanvas(JOGLRotatingSquare.java:46)
at test.JOGLRotatingSquare.<init>(JOGLRotatingSquare.java:22)
at test.JOGLRotatingSquare.main(JOGLRotatingSquare.java:51)
jogl.jar und jogl natives sind jeweils vom 12. Juli 2005.
die .jar hab ich in lib\ext\ und die dlls in den bin\ Ordner (unter winxp) gepackt.
Und ehrlich zu sein, versteh ich jetzt nicht, was er von mir will. :/
package test;
import net.java.games.jogl.GLCanvas;
import net.java.games.jogl.GLCapabilities;
import net.java.games.jogl.GLDrawableFactory;
import net.java.games.jogl.Animator;
import net.java.games.jogl.GL;
import net.java.games.jogl.GLEventListener;
import net.java.games.jogl.GLDrawable;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class JOGLRotatingSquare {
private static float angle = 0;
private static final int SIZE = 160;
JOGLRotatingSquare() {
GLCanvas canvas = getGLCanvas();
canvas.addGLEventListener(new RotatingSquareListener());
Animator anim = new Animator(canvas);
addCanvasToFrame(canvas, anim);
anim.start();
}
private void addCanvasToFrame(
GLCanvas canvas, final Animator anim) {
JFrame f = new JFrame("JOGL Rotating Square");
f.setSize(600, 400);
f.add(canvas);
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
anim.stop();
System.exit(0);
}
});
}
private GLCanvas getGLCanvas() {
GLCapabilities capabilities = new GLCapabilities();
return GLDrawableFactory.getFactory().
createGLCanvas(capabilities);
}
public static void main(String[] args) {
new JOGLRotatingSquare();
}
private void drawRedCenteredSquare(GL gl) {
gl.glColor3f(1, 0, 0);
gl.glRecti(-SIZE / 2, -SIZE / 2, SIZE / 2, SIZE / 2);
gl.glColor3f(0.0f, 0.0f, 0.0f);
}
class RotatingSquareListener implements GLEventListener {
public void init(GLDrawable drawable) {
GL gl = drawable.getGL();
gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); //erasing color
gl.glColor3f(0.0f, 0.0f, 0.0f); // drawing color
}
public void display(GLDrawable drawable) {
GL gl = drawable.getGL();
gl.glClear(GL.GL_COLOR_BUFFER_BIT);
drawRedCenteredSquare(gl);
angle++;
gl.glMatrixMode(GL.GL_MODELVIEW);
gl.glLoadIdentity();
gl.glRotatef(angle, 0, 0, 1);
}
public void reshape(GLDrawable drawable,
int x,
int y,
int width,
int height) {
GL gl = drawable.getGL();
gl.glViewport(0, 0, width, height);
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
gl.glOrtho(-width, width, -height, height, -1, 1);
}
public void displayChanged(GLDrawable drawable,
boolean modeChanged,
boolean deviceChanged) {
}
}
}