2011-11-10 70 views
0

我正在開發一個需要顯示圖片的應用程序。如果我使用下面的代碼從蝕運行我應用在eclipse中加載圖片

Image icon = ImageIO.read(new File("src/pci1.png"));

那麼圖像將加載但執行我的可運行的罐時,它不會顯示。

如果我使用此代碼

`String imgName = "pic1.png"; 
InputStream in = getClass().getResourceAsStream(imgName); 
ImageIcon img = new ImageIcon(ImageIO.read(in)); 
icon = img.getImage();` 

則圖像不會顯示當我在eclipse運行它,但使用可運行罐子時顯示正常。我似乎找不到解決方案,因爲它在eclipse和我的可運行jar中運行。

任何想法,將不勝感激

感謝

回答

2

你的問題是,Eclipse是假設你的基本目錄爲項目目錄,所以它高興地遵循src/pic1.png並找到該文件。 jar文件假定它運行的目錄是基目錄。

通常情況下,您不會將名爲src的文件夾打包到您的jar文件夾中,只是其中包含的軟件包。將圖形,配置等保存在裝入jar中的resources文件夾中是一種很好的風格。