📄 simplemousenav.java
字号:
//SimpleMouseNav.java
//演示如何使用鼠标在场景中巡游
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Frame;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.behaviors.mouse.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import Axis;
import java.awt.event.*;
import java.util.Enumeration;
public class SimpleMouseNav extends Applet {
public BranchGroup createSceneGraph(SimpleUniverse su) {
BranchGroup objRoot = new BranchGroup();
objRoot.addChild(new ColorCube(0.4));
objRoot.addChild(new Axis());
BoundingSphere bounds = new BoundingSphere(new Point3d(), 1000.0);
TransformGroup objTG = su.getViewingPlatform().getViewPlatformTransform();
MouseTranslate myMT = new MouseTranslate();
//指定为一般的模式
myMT.setTransformGroup(objTG);
myMT.setSchedulingBounds(bounds);
objRoot.addChild(myMT);
MouseZoom myMZ= new MouseZoom(MouseBehavior.INVERT_INPUT);
//指定为输入反向模式
myMZ.setTransformGroup(objTG);
myMZ.setSchedulingBounds(bounds);
objRoot.addChild(myMZ);
objRoot.compile();
return objRoot;
}
public SimpleMouseNav() {
setLayout(new BorderLayout());
Canvas3D canvas3D = new Canvas3D(null);
add("Center", canvas3D);
SimpleUniverse simpleU = new SimpleUniverse(canvas3D);
BranchGroup scene = createSceneGraph(simpleU);
simpleU.getViewingPlatform().setNominalViewingTransform();
simpleU.addBranchGraph(scene);
}
public static void main(String[] args) {
Frame frame = new MainFrame(new SimpleMouseNav(), 256, 256);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -