我正在為 D&D 編寫一個字符生成器,但我發現自己處于一個奇怪的情況,因為 InputStream 類似乎適用于某些文件,然后我得到:java.lang.NullPointerException: Input stream must not be null我正在使用 InputStream 將 javafx Image 構造加載到 ImageView 構造函數中 [new ImageView(new Image(getClass().getResourceAsStream(..)))]; 當我加載一些 .jpeg 圖像時它可以工作,但是當我對 .png 圖像執行相同的過程時它不會我已經嘗試了 StackOverflow 上描述的許多解決方案,但似乎沒有一個與我的問題太接近或根本沒有幫助:創建一個 Source 文件夾并從那里檢索圖像將圖像文件移動到類包閱讀所有可能的文檔這段代碼工作正常,它基本上讀取圖像并將它們作為一些按鈕的背景ImageView imv; for(int i = 1; i <= 8; i++) { imv = new ImageView(new Image(getClass().getResourceAsStream("/ButtonImages/" + i + ".jpeg")));...這是構建結果(在 JAR 上工作,因為它在 Eclipse 上工作)那么這段代碼,應該會加載所有的 D&D 比賽圖像this.imv = new ImageView(new Image(getClass().getResourceAsStream("/RaceImages/" + displayname + ".png")));它實際上確實在 Eclipse 中顯示為這樣,但在 Runnable jar 上報告了錯誤
1 回答

忽然笑
TA貢獻1806條經驗 獲得超5個贊
我通過 try-catch 發現了這個問題,我為沒有早點這樣做而感到羞愧。
最終,唯一的錯誤是圖片名稱中的單個大寫字母被 Eclipse 繞過,但在從 .jar 運行時導致 NullPointerException。
我認為這已解決,無需進一步干預。
這是顯示問題的圖片
添加回答
舉報
0/150
提交
取消