Hi!
I’ve a problem with Java3D. When I want to start it in the fullscreen mode I get an exception:
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x10003690
Function=[Unknown.]
Library=(N/A)
NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.
Current Java thread:
at javax.media.j3d.Canvas3D.createContext(Native Method)
at javax.media.j3d.Renderer.doWork(Renderer.java:680)
- locked <031DB3C8> (a java.lang.Object)
at javax.media.j3d.J3dThread.run(J3dThread.java:250)
Dynamic libraries:
0x6D240000 - 0x6D245000 D:\J2SDK1.4.1_02\JRE\BIN\JAWT.DLL
Local Time = Mon Apr 14 16:18:46 2003
Elapsed Time = 6
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.4.1_02-b06 mixed mode)
#
But in the window-mode it works.
Here’s the code:
import java.awt.*;
import java.awt.event.*;
import com.sun.j3d.utils.universe.SimpleUniverse;
import com.sun.j3d.utils.geometry.ColorCube;
import javax.media.j3d.*;
public class Full3D extends Frame {
Canvas3D canvas3D;
GraphicsConfiguration config;
GraphicsDevice device;
public Full3D() {
config = getGraphicsConfiguration();
device = config.getDevice();
canvas3D = new Canvas3D(config);
setUndecorated(true);
add(canvas3D);
setSize(320, 240);
addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
System.exit(0);
}
});
DisplayMode mode = new DisplayMode(320, 240, 16, 0);
try {
device.setFullScreenWindow(this);
device.setDisplayMode(mode);
}
catch(Exception e) {
e.printStackTrace();
System.exit(1);
}
setVisible(true);
SimpleUniverse universe = new SimpleUniverse(canvas3D);
BranchGroup scene = new BranchGroup();
ColorCube cube = new ColorCube(0.4);
Transform3D transform = new Transform3D();
transform.rotX(4);
TransformGroup group = new TransformGroup(transform);
group.addChild(cube);
scene.addChild(group);
universe.getViewingPlatform().setNominalViewingTransform();
universe.addBranchGraph(scene);
}
public static void main(String[] a) {
new Full3D();
}
}
Please help me and excuse me for my bad english.
Wiesi