我的紋理只在Eclipse中工作,但當我嘗試將它導出爲可運行的jar時,啓動它並且沒有紋理。我創建了一個資源文件夾並將其連接到該項目,方法是將其設置爲類文件夾,但只能在eclipse中使用。這是我通常訪問紋理的方式。爲什麼我的紋理無效?
Image something;
public Image getsomethingImg(){
ImageIcon s=new ImageIcon("res/something.png");
something=s.getImage();
return something;
}
然後我畫它。
g2d.drawImage(getsomethingImg(), 0, 0, null);
構建/部署後,您應該檢查紋理的位置。可能值得重新審視這些路徑,因爲它們在Eclipse項目中可能會有所不同。 「res/...」可以在Eclipse中工作,因爲基本路徑將是項目根目錄,但在外部運行項目可能需要完整路徑,如「C:\ ....」 – FazoM
1)'g2d.drawImage(getsomethingImg() ,0,0,null);'應該(很有可能)是'g2d.drawImage(getsomethingImg(),0,0,this);'。 2)不要嘗試在繪圖方法中加載圖像! 3)爲了更快得到更好的幫助,請發佈[SSCCE](http://sscce.org/)。 –
請看看這個答案,[爲項目添加資源](http://stackoverflow.com/a/9866659/1057230)。希望它能幫助你:-) –