Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Netbeans导入包时出现Java错误消息_Java_Netbeans - Fatal编程技术网

使用Netbeans导入包时出现Java错误消息

使用Netbeans导入包时出现Java错误消息,java,netbeans,Java,Netbeans,我在写一些代码,我在四行不同的代码中发现错误,说包不存在。错误出现在第7行到第10行,这表示包org.web3d.x3d.sai不存在。我对该项目的代码是: 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

我在写一些代码,我在四行不同的代码中发现错误,说包不存在。错误出现在第7行到第10行,这表示包org.web3d.x3d.sai不存在。我对该项目的代码是:

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
我之所以要做这个小项目,是因为我需要通过Java项目显示.x3d文件。我将
-Xmx450M-Djava.library.path='F:\Uni\Uni work\Year Three\xj3d-code-12559-trunk\bin'
放在项目属性VM选项中,并将所有
x3d jar
放在名为
xj3d
的库中。我通过谷歌搜索下载了
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)
线程“main”java.lang.NullPointerException中的异常 位于org.web3d.x3d.sai.BrowserFactory.createX3DComponent(BrowserFactory.java:252) 在xj3dtest.xj3dtest.(xj3dtest.java:20) 位于xj3dtest.xj3dtest.main(xj3dtest.java:36)
我认为您必须在构建路径中包含列出的所有jar。

您下载的jar文件中是否存在此包?我已经下载了jar文件,并且我有当前的Xj3D代码主干文件夹和其他jar。我不确定如何检查jar文件中是否存在包。编辑我在
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
在netbeans中的程序,在将下载的jar添加到库中时,它在运行时给了我一个NotSupportedException,但没有像您这样的关于包不存在的错误。谢谢,我刚刚修改了库,所以它只是其中的一个jar,错误已经消失了!但我在运行时遇到了同样的问题。因此,将这些Jar放在我在Netbeans中创建的库的列表中?下载后,转到库->为每个Jar添加Jar/文件夹。我刚刚完成了这项工作。当我运行它时,出现了以下问题:
无法在线程“main”java.lang.NullPointerException中找到X3D浏览器工厂实现
异常
NullPointerException是因为这一行
x3dComponent.getImplementation()而触发的您正在尝试对空对象调用方法。我想你最好开始一个新的问题线索,也许有一些更了解x3d的人。另外,如果我有任何帮助,请标记我的答案已被接受行是空对象吗?我将开始一个新的问题线索,看看其他人是否知道如何解决这最后一点!谢谢:)