2015-04-18 102 views
0

陷入基礎。我有一些語法問題設置圖像路徑。 當我嘗試創建一個圖像並給它的圖像路徑時,它總是會引發一些有關該路徑的異常。我已經評論了一些我已經嘗試過的路徑組合。你能告訴我我做錯了什麼嗎?謝謝。JavaFX創建圖像和ImageView

package jopofx;

public JoPoCTRL(JoPoFX gui){ 
    this.gui = gui; 
} 

public void updateImages(){ 
    Image img = null; 
    try{ 
     //img = new Image("C:\\Users\\ ... //FullPath ... \\JoPoFX\\src\\jopofx\\myimage.png"); 
     img = new Image("\\JoPoFX\\src\\jopofx\\myimage.png"); 
     //img = new Image("\\src\\jopofx\\myimage.png"); 
     //img = new Image("\\myimage.png"); 

    }catch(Exception e){ 
     System.out.println("error while creating image"); 
     e.printStackTrace(); 
    } 

    try{ 
     gui.setImgV(img); 
    }catch(Exception e){ 
     System.out.println("error while setting up the image"); 
    }   
} 

這是打印出: 錯誤而產生的圖像 java.lang.IllegalArgumentException異常:無效的URL:URL無效或資源不javafx.scene.image.Image.validateUrl(Image.java發現 : 990) 在javafx.scene.image.Image(Image.java:538)

回答

0

在發佈我的問題後,我在博客中發現了一個工作示例。 希望這個例子將有助於某人:

InputStream stream = getClass().getResourceAsStream("images/"+imageName+".jpg"); 
//"images/" is the a local directory where all my images are located 
Image newImage = new Image(stream); 
imgV.setImage(newImage); 
1

Windows平臺,用於放置內src/jopofx圖像:

img = new Image("\\jopofx\\myimage.png"); 

img = new Image("/jopofx/myimage.png"); 

然後你就可以使用創建的ImageView:

ImageView imageView = new ImageView(img); 

此外,您也可以直接初始化ImageView沒有初始化Image由:

ImageView imageView = new ImageView("/jopofx/myimage.png"); 

此外,確保您正在使用進口javafx.scene.image.Image;

+0

謝謝您的回答ItachiUchiha。 由於某些原因非這些語法或工作。 我在/ JoPoFX/src和JoPoFX/src/jopofx /文件夾中都有一個myimage.png文件。 (最後一個是運行代碼的文件夾) 如果您有任何其他建議,我會很樂意聽到它們? 謝謝 – Nabuska

+0

我忘了提。我確實已經導入了javafx.scene.image.Image; – Nabuska

+0

嗨。我想我找到了一個解決方案。而不是輸入路徑,我不得不寫入「file:\\ C:users \\ ..... \\ myimage.png。 我的程序不會粉碎了,但我還沒有能夠圖像可見,所以沒有辦法確定它的工作原理 – Nabuska

相關問題