使用 getClass().getResource() 理解資源載入
在 Java 中,存取映像等資源需要特定的方法。常用的方法是 getClass().getResource() 方法。此方法允許開發人員從類別路徑中檢索資源,但它與直接從檔案系統存取檔案不同。
如問題中所提到的,嘗試使用 getClass().getResource() 載入圖片會導致null imgURL,表示失敗。但是,在 ImageIcon 建構函數中明確指定路徑成功載入了影像。造成這種差異的原因是 getClass().getResource() 在類別路徑中搜尋資源,而不是在本機檔案系統中。
類別路徑是包含已編譯的 Java 類別和其他必要資源的目錄和 JAR 檔案的集合申請。當 Java 應用程式執行時,類別載入器會使用指定的路徑在類別路徑中搜尋資源。
要有效地使用 getClass().getResource(),了解類別路徑的性質非常重要。啟動 Java 應用程式時,可以透過類別路徑環境變數或 -cp 選項修改類別路徑。如果正在載入的資源在類別路徑之外的目錄中,則使用 getClass().getResource() 是找不到的。
總結一下,使用 getClass() 無法載入映像的原因。 getResource() 是使用的路徑指向本機檔案系統中的文件,而不是類別路徑中的文件。若要解決此問題,請確保資源放置在類別路徑中並且在執行時可供類別載入器存取。
以上是為什麼我的圖像使用 ImageIcon 加載,而不是使用 getClass().getResource() 加載?的詳細內容。更多資訊請關注PHP中文網其他相關文章!