Mercurial > hg > Database > Alice
view src/main/java/alice/test/topology/aquarium/MakeFrame.java @ 467:6e304a7a60e7 dispose
remove white space
author | sugi |
---|---|
date | Sat, 22 Nov 2014 12:08:24 +0900 |
parents | aefbe41fcf12 |
children |
line wrap: on
line source
package alice.test.topology.aquarium; import java.awt.GraphicsConfiguration; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.net.URL; import javax.imageio.ImageIO; import javax.media.j3d.Background; import javax.media.j3d.BoundingSphere; import javax.media.j3d.BranchGroup; import javax.media.j3d.DirectionalLight; import javax.media.j3d.ImageComponent2D; import javax.swing.JFrame; import javax.swing.JPanel; import javax.vecmath.Color3f; import javax.vecmath.Point3d; import javax.vecmath.Vector3f; import com.sun.j3d.utils.universe.SimpleUniverse; public class MakeFrame { private static final int F_SIZE_X = 800; private static final int F_SIZE_Y = 800; private ViewChange canvas; private JFrame frame; private ObjectList list = new ObjectList(); public MakeFrame(String str,float x) { System.loadLibrary("jawt"); frame = new JFrame(str); frame.setSize(F_SIZE_X, F_SIZE_Y); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel cp = new JPanel(); cp.setLayout(null); frame.add(cp); GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration(); canvas = new ViewChange(x,0.01f,config); canvas.setBounds(0,0, F_SIZE_X, F_SIZE_Y); cp.add(canvas); canvas.universe.addBranchGraph(createLight()); canvas.universe.addBranchGraph(setBackground()); canvas.addKeyListener(new KeyInputCodeSegment(this)); frame.setVisible(true); } private BranchGroup setBackground() { BranchGroup scene = new BranchGroup(); BufferedImage img = null; try { URL url = getClass().getClassLoader().getResource("images/image1.jpg"); if (url!=null) { img = ImageIO.read(url); } else { img = ImageIO.read(new File("images/image1.jpg")); } } catch (IOException e) { e.printStackTrace(); } ImageComponent2D image = new ImageComponent2D(ImageComponent2D.FORMAT_RGBA8,img); Background background = new Background(image); background.setImageScaleMode(Background.SCALE_FIT_ALL); BoundingSphere bounds = new BoundingSphere(new Point3d(), 10.0); background.setApplicationBounds(bounds); scene.addChild(background); return scene; } private BranchGroup createLight() { BranchGroup scene = new BranchGroup(); Color3f light_color = new Color3f(1.7f,1.7f,1.7f); Vector3f light_direction = new Vector3f(0.0f,0.0f,-1.0f); DirectionalLight light = new DirectionalLight(light_color,light_direction); BoundingSphere bounds = new BoundingSphere(new Point3d(), 10.0); light.setInfluencingBounds(bounds); scene.addChild(light); return scene; } public void register(MakeObject obj){ list.table.add(obj); BranchGroup group = obj.createBranch(); this.canvas.universe.addBranchGraph(group); } public ViewChange getCanvas(){ return this.canvas; } public JFrame getJFrame(){ return this.frame; } public ObjectList getList(){ return this.list; } static public void main(String [] args) { MakeFrame test = new MakeFrame("Test", 0); test.setBackground(); test.createLight(); } }