2014-12-07 74 views
0

我確信這有一個簡單的修復,但我很難找到解決方案。使用Windows 7和Mac OS X的Eclipse中的圖像路徑

我通常使用我的Macbook Pro,但我正在努力確保我正在開發的項目在Windows 7中也能正常工作。我現在在我的Macbook Pro上運行bootcamp。

我唯一的問題是導入圖像。

在我的Mac上使用Eclipse,我可以將圖像導入到我的項目文件夾中,查看它們的屬性,並將C + P直接導入到我的導入語句中。 但是,當切換到Windows 7時,此方法不起作用。 由於Windows 7使用反斜槓,因此我試圖使用\來替換路徑中的每個\。這不起作用。 我也試過簡單地做「\ Project \ image.png」,但這也行不通。用單或雙反斜槓。

這裏是我的導入我的文件代碼:

picLabel.setIcon(new ImageIcon("C:\\Users\\Kaitlyn\\Documents\\JAVA\\Project\\Project1\\src\\Project\\icon.png")); 

我還沒有明白爲什麼它沒有導入圖像。代碼沒有被修改,除了我在Mac OS X上使用的代碼的路徑。 當我試圖使用Windows 7導入圖像時,是否有錯誤?

謝謝!

+0

不要使用絕對路徑,使用相對路徑來替代,或者嵌入圖像的罐子內本身和使用Class#的getResource instread – MadProgrammer 2014-12-07 20:57:33

+0

呀,相對路徑應該是最好的!我只是想先讓它工作! XD謝謝!:)我不知道Jar是什麼,我必須做更多的研究。同時,使用相對路徑,我相信我必須使用正斜槓而不是反斜槓。 – Kaitlyn 2014-12-07 21:15:08

+1

是的,你幾乎可以一直使用'/',在Windows下,JVM會自動修正它們 – MadProgrammer 2014-12-07 21:16:45

回答

1

你就應該能夠做到像下面這樣:

picLabel.setIcon(new ImageIcon("/Project/icon.png")); 

使用的文件路徑就像這個例子是一個更好的方式在任何程序中檢索文件。這使它更加兼容。所以如果你打算把這個程序部署到其他服務器/機器上,你會在你的項目中尋找文件,而不是在機器上。

以下是一些可能有所幫助的其他問題和文檔。 https://docs.oracle.com/javase/tutorial/uiswing/components/icon.html

How to add an ImageIcon to a JFrame?

Java Swing ImageIcon, where to put images?

+0

謝謝! 我想知道使用正斜槓是否合適?在Windows中,路徑都包含反斜槓。我相信我已經嘗試了較短的路徑,正如你所提到的那樣,但是也許我包含了雙斜槓而不是單斜槓。 – Kaitlyn 2014-12-07 21:02:46