2014-05-02 104 views
-1

我必須執行一個程序,它顯示位於java項目外的圖像。我不知道如何表達它們,我可以代表位於項目中的圖像,但不能代表它們。 這些是我在做什麼:在java項目中顯示位於java項目外的圖像

private String imagedir = "C://"; 
private String imageFileNames = "mypic.jpg";  
ImageIcon icon; 
icon = createImageIcon(imagedir + imageFileNames); 

這給了我:Couldnt find file.

+0

? – Braj

+0

protected ImageIcon createImageIcon(String path,String description){0}如果(imgURL!= null){ }返回新的ImageIcon(imgURL,description); } else { System.err.println(「Could not find file:」+ path); return null; } – user3597131

回答

1

不要將項目之外的圖像。您的項目出貨後會發生什麼?

你將如何在另一個系統上運行同一個項目?


把所有的圖像,你必須在你的項目中平行於src文件夾images文件夾。

F:/>Kiosk 
      | 
      |___src 
      | 
      |___lib 
      | 
      |___koisk 
        | 
        |__main1.java 
      | 
      |__images 
       | 
       |__c.jpg 
       |__d.jpg 
       |__e.jpg 
       |__f.jpg 

你可以嘗試任何什麼是隱藏在`createImageIcon()`方法一個

// Read from same package 
ImageIO.read(getClass().getResourceAsStream("c.png")); 

// Read from absolute path 
ImageIO.read(new File("E:\\SOFTWARE\\TrainPIS\\res\\drawable\\c.png")); 

// Read from images folder parallel to src in your project 
ImageIO.read(new File("images\\c.jpg")); 
+0

我無法找到工作區中的圖像,因爲更多的圖像將被添加很長時間。該應用程序將用於大學部門,因此圖像文件夾將位於同一路徑上的所有服務器上。 – user3597131

+0

@ user3597131 **您是否嘗試了我的第二個選項?**從絕對路徑讀取。 – Braj

+0

@ user3597131什麼[Class#getResource()](http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResource%28java.lang.String%29)狀態。不要使用此方法從項目外部讀取。 – Braj