我目前正在处理从Processing到Netbeans的代码端口。但是,我遇到了一些困难,因为当我在Netbeans java中运行它时,在处理中运行的完全相同的代码给了我一个空指针异常。 我面临的错误是:
Exception in thread "Animation Thread" java.lang.NullPointerException
at gardeningmania.GardeningMania.loadPng(GardeningMania.java:303)
at gardeningmania.GardeningMania.setupThreading(GardeningMania.java:315)
at gardeningmania.GardeningMania.setup(GardeningMania.java:182)
at processing.core.PApplet.handleDraw(PApplet.java:2281)
at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:243)
at processing.core.PApplet.run(PApplet.java:2177)
at java.lang.Thread.run(Thread.java:722)
这些是导致上述状态错误的代码的某些部分:
@Override
public void setup() {
setupThreading("/Menus/", menuLoader, menuThread);
setupThreading("/Navigations/", navLoader, navThread);
setupThreading("/Navigations2/", nav2Loader, nav2Thread);
}
void loadPng(File[] files, ImageLoader loader) {
for (int i = 0; i < files.length; i++) {
String path = files[i].getAbsolutePath();
if (path.toLowerCase().endsWith(".png")) {
loader.loadImg(path);
}
}
}
void setupThreading(String folderName, ImageLoader loader, Thread threading) {
File dir = new File(sketchPath + folderName);
File[] files = dir.listFiles();
threading = new Thread(loader);
loadPng(files, loader);
threading.start();
}
我知道如何解决这些错误吗?
答案 0 :(得分:1)
检查您是否指向正确的目录,而不是相对路径。我觉得以下代码提供了一个空对象files
:
File[] files = dir.listFiles();
答案 1 :(得分:0)
menuLoader或navLoader或nav2Loader为null
或者@GV可能正确猜到新环境中的filePath不正确,因此导致File.ListFiles()
返回null