1

我目前正在處理代碼從端口到Netbeans。但是,我遇到了一些困難,因爲在處理中運行的完全相同的代碼在Netbeans java中運行時給了我一個空指針異常。 我面對的錯誤是這些:如何解決「線程中的異常」動畫線程「java.lang.NullPointerException」?

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(); 
} 

任何想法,我怎麼能着手解決這些錯誤?

+1

請**以適當的方式使用格式** – Baby

+1

使303行非空。 –

+0

「menuLoader」或「navLoader」或「nav2Loader」爲空 –

回答

1

檢查您是否指向正確的目錄,而不是相對路徑。我覺得下面的代碼是給一個空對象files

File[] files = dir.listFiles(); 
+0

downvote的原因是什麼? –

+0

也許是空的,但不是空的 –

+0

問題是你猜測,因爲沒有辦法權威地回答OP的問題。你可能是正確的,但是他的'loader'變量爲'null'同樣合理 –

0

無論menuLoader或navLoader或nav2Loader爲null

或者作爲@GV可能已經猜到了正確的文件路徑上你的新環境不正確,因此導致在File.ListFiles()返回null

+0

你需要結合你的答案...... *然後*你已經涵蓋了基地。 –

相關問題