我正在編寫一些代碼,並在四條不同的線路上發現錯誤,說明這些包不存在。錯誤位於第7到10行,表示軟件包org.web3d.x3d.sai不存在。我有這個項目的代碼是:使用Netbeans導入包時出現Java錯誤消息
package xj3dtest;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import javax.swing.JFrame;
import org.web3d.x3d.sai.Browser;
import org.web3d.x3d.sai.BrowserFactory;
import org.web3d.x3d.sai.X3DComponent;
import org.web3d.x3d.sai.X3DScene;
public class Xj3DTest extends JFrame {
public Xj3DTest(String title) {
super(title);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
X3DComponent x3dComponent = BrowserFactory.createX3DComponent(null);
Browser browser = x3dComponent.getBrowser();
Component browserComponent = (Component) x3dComponent.getImplementation();
Container cp = getContentPane();
cp.setLayout(new BorderLayout());
cp.add(browserComponent, BorderLayout.CENTER);
X3DScene scene = browser.createX3DFromURL(new String[] {"test.x3dv"});
browser.replaceWorld(scene);
}
public static void main(String[] args) {
Xj3DTest frame = new Xj3DTest("Xj3D test");
frame.setSize(640, 480);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
而對於test.x3dv代碼:
#X3D V3.0 utf8
PROFILE Interactive
DEF TS TimeSensor {
cycleInterval 3
loop TRUE
}
DEF TG Transform {
rotation 0 1 0 0
children Shape {
geometry Box {}
appearance Appearance {
material DEF MAT Material {
diffuseColor 1 0 0
}
}
}
}
DEF OI OrientationInterpolator {
key [ 0 0.5 1 ]
keyValue [
0 1 0 0
0 1 0 3.14
0 1 0 6.28
]
}
ROUTE TS.fraction_changed TO OI.set_fraction
ROUTE OI.value_changed TO TG.rotation
爲什麼我做這個小項目的原因是因爲我需要顯示.x3d文件通過一個Java項目。我將-Xmx450M -Djava.library.path='F:\Uni\Uni work\Year Three\xj3d-code-12559-trunk\bin'
放在項目屬性VM選項中,並將所有x3d jars
放在名爲Xj3D
的庫中。我已經通過Google搜索下載org.web3d.x3d.sai
並進入第一個鏈接,並將其放入我在Netbeans中創建的JARS lib文件夾中。但我仍然收到錯誤。
我知道我昨天也問過同樣的問題,但發現它沒有正確格式化,我覺得它沒有傳達我想要的東西。
編輯
當我現在運行的代碼,得到正確的jar文件庫後,就是:
Exception in thread "main" java.lang.NullPointerException
at org.web3d.x3d.sai.BrowserFactory.createX3DComponent(BrowserFactory.java:252)
at xj3dtest.Xj3DTest.<init>(Xj3DTest.java:20)
at xj3dtest.Xj3DTest.main(Xj3DTest.java:36)
此包是否存在於您下載的jar文件中? – Desaretiuss
我已經下載了jar文件,並且與其他jar文件夾中的當前Xj3D代碼中繼文件夾相同。我不確定如何檢查包是否存在於jar文件中。 – smitthy
**編輯**我看過'xj3d-sai_2.0.0.jar'文件,並有'org.web3d.x3d.sai.Browser.class' org.web3d.x3d.sai.BrowserFactory.class ''org.web3d.x3d.sai.X3DComponent.class'和'org.web3d.x3d.sai.X3DScene.class' – smitthy