2016-02-16 47 views
0

我正在編寫一些代碼,並在四條不同的線路上發現錯誤,說明這些包不存在。錯誤位於第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) 
+0

此包是否存在於您下載的jar文件中? – Desaretiuss

+0

我已經下載了jar文件,並且與其他jar文件夾中的當前Xj3D代碼中繼文件夾相同。我不確定如何檢查包是否存在於jar文件中。 – smitthy

+0

**編輯**我看過'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

回答

0

我認爲你必須在構建路徑包括上市here所有罐子。

+0

那麼把這些罐子放在我在Netbeans中創建的庫中的列表中? – smitthy

+0

轉到庫 - >下載後爲它們中的每一個添加jar /文件夾。 – Desaretiuss

+0

我剛剛做到了。 ''無法找到X3D瀏覽器工廠實現'和'線程中的異常'主要「java.lang.NullPointerException' – smitthy