2017-08-09 35 views
-1

我需要編寫一個程序在javafx場景中顯示圖片,並使用ImageView來顯示它。但是我遇到了一個問題。java.lang.IllegalArgumentException:無效的URL:未知的協議:f

異常在線程 「主」 java.lang.IllegalArgumentException異常:無效的URL:未知協議:java.net.MalformedURLException::F 致未知協議:F

這是我的代碼:

public void initialize(){ 
    label1.setText("success"); 
    imageView1.setImage(new Image("F:/a.jpg")); 
} 
+4

使用'文件:的文件 –

+0

@JigarJoshi這應該是一個答案,不評論//'URL方案。請拒絕在評論中提供正確,完整答案的誘惑。 –

回答

0

嘗試任何代碼塊。我希望它能解決你的錯誤。

final imageView1 imv = new imageView1(); 
     final Image image2 = new Image(Main.class.getResourceAsStream("a.jpg")); 
     imv.setImage(image2); 

@FXML 
    private ImageView1 imageView; 

    @Override 
    public void initialize(URL location, ResourceBundle resources) { 
     File file = new File("F:/a.jpg"); 
     Image image = new Image(file.toURI().toString()); 
     imageView.setImage(image); 
    } 

或者

FileInputStream input = new FileInputStream("F:/a.jpg"); 
Image image = new Image(input); 
ImageView1 imageView = new ImageView1(image); 
+0

我用第二種方法解決了這個錯誤,謝謝! –

+0

除非圖像文件被移動到與'Main'相同的包中,否則第一個將不起作用。 – EJP

0

文件名不是URL。一個URL是一個URL。該網址應爲"file:/F:/a.jpg"