import com.sun.j3d.exp.swing.JCanvas3D;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.SimpleUniverse;
import java.awt.Dimension;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import javax.media.j3d.GraphicsConfigTemplate3D;

public class Test2 extends javax.swing.JFrame {

public Test2() {
initComponents();
// Scenegraph
BranchGroup bg = new BranchGroup();
ColorCube cube = new ColorCube(0.2f);
bg.addChild(cube);
// JCanvas
JCanvas3D jCanvas = new JCanvas3D();
jCanvas.setResizeMode(JCanvas3D.RESIZE_IMMEDIATELY);
this.add("Center",jCanvas);
Dimension dim = new Dimension(100,100);
jCanvas.setPreferredSize(dim);
jCanvas.setSize(dim);
//
Canvas3D c = jCanvas.getOffscreenCanvas3D();

SimpleUniverse u = new SimpleUniverse(c);
u.getViewingPlatform().setNominalViewingTransform();
u.addBranchGraph(bg);
//
}

private void initComponents() {

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-400)/2, (screenSize.height-300)/2, 400, 300);
}//

public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Test2().setVisible(true);
}
});
}


}