java 3D API是一个软件包,需要安装,安装后再把目录下的LIB下的几个JAR文件加入到CLASSPATH就可以了,还有一种方法,就是把几个JAR包拷贝到类似C:\Program Files\Java\jdk1.5.0\jre\lib\ext目录下即可。
1、下载安装 JDK程序:jdk-1_5_0_07-windows-i586-p.exe2、设置环境变量:方法为“我的电脑”属性---高级---环境变量
增加“CLASSPATH”内容为“.I:\Program Files\Java\jdk1.5.0_07\lib\tools.jarI:\Program Files\Java\jdk1.5.0_07\lib\dt.jard:\class”。注意安装位置路径!
增加“JAVA_HOME”内容为“I:\Program Files\Java\jdk1.5.0_07”
在PATH中添加“I:\Program Files\Java\jdk1.5.0_07\binI:\Program Files\Java\jdk1.5.0_07\jre/bin”在前面加的。
3、进入CMD,在任意盘符下试运行JACAC看是否正常。要多试几次的。可进入JAVAC所在目录运行先。
4、如果路径没问题,可以在记事本上输入
public class HelloJAVA
{
public static void main(String[] args)
{
System.out.println("Hello JAVA!")
}
}
更名为HelloJAVA.java,放在D:/CLASS
5、在CMD后运行
D:\CLASS\javac hellojava.java(称作编译)
成功后
D:\CLAS\java HelloJAVA (注意大小写!就是这里我费了一些脑筋,就会报:Exception in Thread main java.lang.NoClassDefFoundError)
应该出现 Hello JAVA!!字样,至此,JAVA JDK环境基本完工。
以上是查了网上资料,但是也有相当初学者遇到麻烦,不知本人的操作有什么问题吗。有一点,如果不是亲身实践那么总以为容易的。
6、下载并安装程序:java3d-1_5_1-windows-i586.exe
这个程序与前面的JDK安装先后不能搞错。这时安装可见到本程序自动发现JDK的安装路径。默认在C:,无法更改的样子。
7、在D:/CLASS下建立文本文件,内容为:
import java.applet.Applet
import java.awt.BorderLayout
import com.sun.j3d.utils.applet.MainFrame
import com.sun.j3d.utils.geometry.*
import com.sun.j3d.utils.universe.*
import javax.media.j3d.*
import javax.vecmath.*
import com.sun.j3d.utils.behaviors.mouse.MouseRotate
import com.sun.j3d.utils.behaviors.mouse.MouseZoom
import com.sun.j3d.utils.behaviors.mouse.MouseTranslate
public class UglyCube extends Applet
{
private SimpleUniverse universe
public UglyCube()
{}
public void init()
{
//canvas to draw on, ask SimpleUniverse what config to use
Canvas3D canvas = new Canvas3D(SimpleUniverse.getPreferredConfiguration())
setLayout(new BorderLayout())
add("Center", canvas)
//create top of our scene graph
BranchGroup scene = new BranchGroup()
//create universe, and attach our geometry to it.
SimpleUniverse u = new SimpleUniverse(canvas)
u.getViewingPlatform().setNominalViewingTransform()
// Create the bounding leaf node
BoundingSphere bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0)
// Create the transform node
TransformGroup transformGroup = new TransformGroup()
transformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ)
transformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE)
// Create the drag behavior node
MouseRotate behavior = new MouseRotate()
behavior.setTransformGroup(transformGroup)
transformGroup.addChild(behavior)
behavior.setSchedulingBounds(bounds)
// Create the zoom behavior node
MouseZoom behavior2 = new MouseZoom()
behavior2.setTransformGroup(transformGroup)
transformGroup.addChild(behavior2)
behavior2.setSchedulingBounds(bounds)
// Create the zoom behavior node
MouseTranslate behavior3 = new MouseTranslate()
behavior3.setTransformGroup(transformGroup)
transformGroup.addChild(behavior3)
behavior3.setSchedulingBounds(bounds)
transformGroup.addChild(new ColorCube(0.4))
scene.addChild(transformGroup)
u.addBranchGraph(scene)
}
// The following allows UglyCube to be run as an application
// as well as an applet
public static void main(String[] args)
{
new MainFrame(new UglyCube(), 256, 256)
}
}
然后把它把保存更名为UglyCube.java,然后用进入CMD
D:\CLASS\JAVAC UglyCube.java(编译)
D:\CLASS\JAVA UglyCube (运行)
运行结果:这是个彩色六面体,可以用鼠标左键旋转,右键拖动,摁下滚轮前后移动缩放。
测试Java3D开发运行环境是否配置正确工作至此完成。
以下是我转载的CANVAS3D NULL GRAPHICS CONFGUATION错误的解决方法
JAVA3D 1.4以前的版本
没有把这个作为错误!
但是JAVA3D1.5升级了以后!
却发现在编译的时候总是出现这个错误:
Exception in thread "main" java.lang.NullPointerException: Canvas3D: null GraphicsConfiguration
at javax.media.j3d.Canvas3D.checkForValidGraphicsConfig(Canvas3D.java:954)
at javax.media.j3d.Canvas3D.<init>(Canvas3D.java:997)
at SimpleRotator.<init>(SimpleRotator.java:34)
at SimpleRotator.main(SimpleRotator.java:154)
Process completed.
我向大家有时候也比较苦恼吧!
网上很多牛人编的程序都是用JAVA3D1.4以前的API
我本在学习的时候总是出现这样那样的错误!
上GOOGLE搜一下
简单的解决方法是
(步骤一)
在导入类库的时候把这个AWT里面的CLASS引入。
import java.awt.GraphicsConfiguration
(步骤二)
在程序的最后,如果不是那种很狠使用自定义视角和VIRTUAL UNIVERSE的程序而是针对SIMPLE UNIVERSE的简单宇宙里面可以使!
可以这样使:
public 你的主类名() {
setLayout(new BorderLayout())
GraphicsConfiguration config=SimpleUniverse.getPreferredConfiguration()
Canvas3D c=new Canvas3D(config)
add("Center",c)
BranchGroup scene=createSceneGraph()
SimpleUniverse u=new SimpleUniverse(c)
u.getViewingPlatform().setNominalViewingTransform()
u.addBranchGraph(scene)
}
现在用ECLIPSE或者JCREATOR运行一下。应该可以了吧!
至于那个用负责VIRTUAL UNIVERSE制造的宇宙的问题解决方法!
我还在钻研摸索阶段!
大家谁有会的也请指教我吧!