2016-03-25 37 views
0

arrow.png sayfamdaki göreli yolla ilgili bir sorunum var.Resim yüklenirken göreli resim yolu javafx

--resources 
    --arrow.png 
    --Accounts.txt 
--src 
    --Main.java 

Ve benim Main.java içinde böyle resim yüklemek çalışıyorum:

Ben dizinlerin kurmak aşağıdaki seçeneklerin

Image image = new Image("resources/arrow.png"); 

Ancak, aşağıdaki hatayı alıyorum:

Invalid URL: Invalid URL or resource not found 

Yukarıdaki satırın bir kaç satırı gibi şaşırtıcı olan başka bir dosya yüklüyorum:

FileInputStream fstream = new FileInputStream("resources/Accounts.txt"); 

Ve çalıştığını

..

nereden hata yapıyorum?

+0

Görüntü paketini neydi? Sadece bu kurucu ne olduğunu görmek için kaynak koduna bakın –

+0

import javafx.scene.image.Image; – uksz

+0

Image image = new Image (getClass(). GetResourceAsStream ("resources/arrow.png")) ile denediniz mi? ? –

cevap

3

Basitçe bu kodu değiştirin:

Image image = new Image(this.getClass().getResource("resources/arrow.png")); 
+0

Bu henüz basit bir cevaptır. Teşekkürler! – uksz

2

deneyin ile: bununla

Image image = new Image("resources/arrow.png");

:

img = ImageIO.read(new File("resources/arrow.png")); 
+0

bu aslında atar: Hata: (183, 47) java: Image (java.net.URL) yapıcısı için uygun bir kurucu bulunamadı javafx.scene.image.Image.Image (java.lang.String) geçerli değil (argüman uyumsuzluğu; java.net.URL java.lang.String dosyasına dönüştürülemez.) constructor javafx.scene.image.Image.Image (java.io.InputStream) geçerli değil (argüman uyumsuzluğu; java.net.URL java.io.InputStream'e dönüştürülebilir) – uksz

+0

bu resmi deneyin Image = new Image (getClass(). getResourceAsStream ("resources/arrow.png")); –

0

Ayrıca ImageIO kullanabilirsiniz, şahsen ben kullanımı daha basit olduğunu düşünüyorum

Image img = new Image("file:resources/arrow.png");

İlgili konular