📄 picturebox.java
字号:
package com.java3d.examples;
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GraphicsConfiguration;
import javax.media.j3d.Appearance;
import javax.media.j3d.BoundingSphere;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import javax.media.j3d.Material;
import javax.media.j3d.Texture;
import javax.media.j3d.Transform3D;
import javax.media.j3d.TransformGroup;
import javax.vecmath.Color3f;
import javax.vecmath.Point3d;
import com.java3d.test.mySphere;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.behaviors.vp.OrbitBehavior;
import com.sun.j3d.utils.geometry.Box;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.geometry.Primitive;
import com.sun.j3d.utils.image.TextureLoader;
import com.sun.j3d.utils.universe.SimpleUniverse;
import com.sun.j3d.utils.universe.ViewingPlatform;
public class pictureBox extends Applet {
private SimpleUniverse universe;
private BranchGroup scene;
private Canvas3D canvas;
private BoundingSphere bounds = new BoundingSphere(new Point3d(0.0, 0.0,
0.0), 1000.0);
public static void main(String[] args) {
// TODO Auto-generated method stub
new MainFrame(new pictureBox(), 256, 256);
}
public void setupView() {
/** Add some view related things to view branch side
of scene graph */
// add mouse interaction to the ViewingPlatform
OrbitBehavior orbit = new OrbitBehavior(canvas,
OrbitBehavior.REVERSE_ALL | OrbitBehavior.STOP_ZOOM);
orbit.setSchedulingBounds(bounds);
ViewingPlatform viewingPlatform = universe.getViewingPlatform();
// This will move the ViewPlatform back a bit so the
// objects in the scene can be viewed.
viewingPlatform.setNominalViewingTransform();
viewingPlatform.setViewPlatformBehavior(orbit);
}
public void init() {
BranchGroup scene = getBranchGroup();
setLayout(new BorderLayout());
GraphicsConfiguration config = SimpleUniverse
.getPreferredConfiguration();
canvas = new Canvas3D(config);
add("Center", canvas);
// Create a simple scene and attach it to the virtual universe
universe = new SimpleUniverse(canvas);
setupView();
universe.addBranchGraph(scene);
}
public void destroy() {
universe.removeAllLocales();
}
public BranchGroup getBranchGroup() {
BranchGroup objRoot = null;
Appearance ap = null;
Material material = null;
objRoot = new BranchGroup();
Transform3D tf = new Transform3D();
//tf.rotY(Math.PI / 3);
TransformGroup objTrans = new TransformGroup(tf);
ap = new Appearance();
//material = new Material();
//material.setEmissiveColor(new Color3f(0.0f, 1.0f, 0.0f));
//ap.setMaterial(material);
TextureLoader loader = new TextureLoader("E:\\workplace\\java3d\\src\\com\\java3d\\test\\01.jpg","", new Container());
Texture texture = loader.getTexture();
//texture.setBoundaryModeS(Texture.CLAMP_TO_EDGE);
//texture.setBoundaryModeT(Texture.CLAMP_TO_EDGE);
ap.setTexture(texture);
Box box = new Box(.5f, .5f, .5f, Primitive.GENERATE_TEXTURE_COORDS, ap);
objTrans.addChild(box);
objRoot.addChild(objTrans);
objRoot.compile();
return objRoot;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -