2010-01-25 29 views
0

我試圖在我的JFrame上顯示兩個圖片,我發現的方式是使用圖標和JLabels,這看起來很直接,我沒有這個問題。但是當涉及到定位圖像時,我無法使其工作。我在一臺linux機器上,因此是正斜槓風格。我在我的項目中創建了一個名爲pics的文件夾,名爲399assig1。一個日食項目中的圖像路徑

 ImageIcon icon1 = createImageIcon("/home/dsk03/ugrad/jeanbern/workspace/C291/workspace/399assig1/pics/fur-05.jpg","First"); 
    this.label1 = new JLabel("Picture 1", icon1, JLabel.CENTER); 

    ImageIcon icon2 = createImageIcon("pics/fur.png","Second"); 
    this.label2 = new JLabel("Picture 2", icon2, JLabel.CENTER); 

這是錯誤我得到

Couldn't find file: /home/dsk03/ugrad/jeanbern/workspace/C291/workspace/399assig1/pics/fur-05.jpg 
Couldn't find file: pics/fur.png 
+2

只是一個旁註:在Java中,你可以隨時使用正斜槓作爲分隔符路徑 - 甚至在MS Windows環境。 – 2010-01-25 19:30:52

回答

5

如果createImageIcon()被搜索CLASSPATH的文件,你需要在根目錄添加到CLASSPATH。更好的方法是使用與已經包含在CLASSPATH中的目錄相關的路徑。

像這樣:

%>CLASSPATH=$CLASSPATH;/home/dsk03/ugrad/jeanbern/workspace 

那麼您的通話將

ImageIcon icon1 = createImageIcon("399assig1/pics/fur-05.jpg", "MyIcon");