File: java3d/Example1/Main.java import java.awt.*; import javax.swing.*; import javax.media.j3d.*; import javax.vecmath.*; import com.sun.j3d.utils.universe.*; import com.sun.j3d.utils.behaviors.keyboard.*; import com.sun.j3d.utils.behaviors.vp.*; import com.sun.j3d.utils.geometry.*; /** * Simple example of Java3D * R. Jacob 10/18/2006 * * Most of this is boilerplate, * your stuff typically goes in Scene.createSceneGraph() * * To compile: javac THISFILE */ public class Main extends JFrame { public static void main (String[] args) { new Main (); } /** * Constructor code rarely changes, * put your stuff into constructor of Scene */ public Main () { /* * Set up a regular window */ setSize (500, 500); setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); /* * Set up SimpleUniverse, with our own Canvas3D */ Canvas3D canvas3D = new Canvas3D (SimpleUniverse.getPreferredConfiguration()); SimpleUniverse universe = new SimpleUniverse (canvas3D); Scene scene = new Scene (); addKbdNavig (universe, scene); /* * Install our scene graph */ scene.compile (); universe.addBranchGraph (scene); /* * Install 3D canvas into GUI window */ Container content = getContentPane(); content.setLayout (new BorderLayout()); content.add (canvas3D, BorderLayout.CENTER); setVisible (true); } /* * Set things up for keyboard navigation, * for your universe and scene. * Built-in class, uses arrow keys, pgup/pgdn, +, -, and = * also Alt-left/right arrow, Alt-pgup/pgdn */ private void addKbdNavig (SimpleUniverse universe, BranchGroup scene) { KeyNavigatorBehavior kbdBehavior = new KeyNavigatorBehavior ( universe.getViewingPlatform().getViewPlatformTransform()); kbdBehavior.setSchedulingBounds (new BoundingSphere (new Point3d(), Float.MAX_VALUE)); scene.addChild (kbdBehavior); } } File: java3d/Example1/Scene.java import java.awt.*; import java.util.*; import javax.media.j3d.*; import javax.vecmath.*; import com.sun.j3d.utils.universe.*; import com.sun.j3d.utils.behaviors.keyboard.*; import com.sun.j3d.utils.behaviors.vp.*; import com.sun.j3d.utils.geometry.*; /** * Create your own scene graph here, describing your 3d world */ public class Scene extends BranchGroup { public Scene () { // First we move to where we want the object Transform3D translate = new Transform3D (); translate.setTranslation (new Vector3d (0, 0, -10.)); TransformGroup objTranslate = new TransformGroup (translate); this.addChild (objTranslate); // Create our object and add it objTranslate.addChild (new Box (1.0f, 1.0f, 1.0f, new Appearance())); } }