Mercurial > hg > Members > tatsuki > Alice
view src/alice/test/topology/movement/MakeFrame.java @ 93:6601f8854126 working
can KeyInputCodeSegment
author | sugi |
---|---|
date | Tue, 05 Jun 2012 16:33:28 +0900 |
parents | 8e3c1217aad4 |
children |
line wrap: on
line source
package alice.test.topology.movement; import java.awt.GraphicsConfiguration; import javax.media.j3d.BoundingSphere; import javax.media.j3d.BranchGroup; import javax.media.j3d.Canvas3D; import javax.media.j3d.DirectionalLight; import javax.swing.JFrame; import javax.swing.JPanel; import javax.vecmath.Color3f; import javax.vecmath.Vector3f; import com.sun.j3d.utils.universe.SimpleUniverse; import com.sun.j3d.utils.universe.ViewingPlatform; public class MakeFrame { int fSizeX = 800; int fSizeY = 800; private Canvas3D canvas; private SimpleUniverse universe; private KeyInput key; private KeyInputCodeSegment KIC; public MakeFrame(){ JFrame frame = new JFrame(); frame.setSize(fSizeX,fSizeY); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel cp = new JPanel(); cp.setLayout(null); frame.add(cp); GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration(); canvas = new Canvas3D(config); canvas.setBounds(0,0,fSizeX,fSizeY); cp.add(canvas); universe = new SimpleUniverse(canvas); universe.addBranchGraph(createLight()); /* key = new KeyInput(); canvas.addKeyListener(key); */ KIC = new KeyInputCodeSegment(); canvas.addKeyListener(KIC); frame.setVisible(true); ViewingPlatform camera = universe.getViewingPlatform(); camera.setNominalViewingTransform(); } private BranchGroup createLight(){ BranchGroup scene = new BranchGroup(); Color3f light_color = new Color3f(1.7f,1.7f,1.7f); Vector3f light_direction = new Vector3f(0.2f,-0.2f,-0.6f); DirectionalLight light = new DirectionalLight(light_color,light_direction); BoundingSphere bounds = new BoundingSphere(); light.setInfluencingBounds(bounds); scene.addChild(light); return scene; } public void register(MakeObject obj){ BranchGroup group = obj.createBranch(); this.universe.addBranchGraph(group); } public void registerKObj(MakeObject obj){ BranchGroup group = obj.createKeyBranch(); this.universe.addBranchGraph(group); } public Canvas3D getCanvas(){ return this.canvas; } public KeyInput getKey(){ return this.key; } public KeyInputCodeSegment getKeySegment(){ return this.KIC; } }