2016-11-25 11 views
0

私の問題は、Javaプロジェクトのサブパッケージから画像を読み込むことができないことです。パッケージから画像を読み込むことができません

This is my project structure

私はいくつかの異なるコードスニペットをしようと試みたが、常にnullポインタ例外を取得します。

私がしようと試みた:それは私のために正常に動作しますが、今、私は私が間違って何をすべきか知っているドント他のプロジェクトで

Image image = new Image("/frontend/pictures/logo.png"); 
Image image = new Image("frontend/pictures/logo.png"); 
Image image = new Image("pictures/logo.png"); 
Image image = new Image(getClass().getResource("frontend/pictures/logo.png").toString()); 

を。

ありがとうございました。あなたがイメージをロードしたいとき

public Image img(String path) { 
    ImageIcon icon = new ImageIcon(path); 
    return icon.getImage(); 
} 

はその後、ちょうど使用します:

+0

コンストラクタの引数を持つImageクラスのパッケージは何ですか? – NormR

+0

あなたはここで 'Image'クラスを使用していますか? 'java.awt.Image'は引数なしのコンストラクタしか持たず、>> Java <<が定義する唯一の' Image'クラスです。 –

+0

ああ申し訳ありませんが、私はjavafxを使用していると忘れていました。 –

答えて

2

は、ここで私はImageIconsを使用して作成した素敵な画像ローディング方式だ

Image image = img("frontend/pictures/logo.png") 

、これは動作するはずです。あなたが実行可能なJARを使用したい場合、あなたはこの実装を使用する必要がありますことを 注:中

static Image setImage(String path) { 
    Image tmp = null; 
    try { 
     tmp = ImageIO.read(/*Class name*/.class.getResourceAsStream(path)); 
    } catch (IOException e){ 
     e.printStackTrace(); 
    } 
    return tmp; 
} 

とフィード:

Image image = setImage("/org/.../logo.png"); 

組織フォルダ内のいくつかのサブフォルダに配置されたイメージを持ちますJARの

0

私はJavaFXで作業していると言っても忘れていました。 しかし私は自分の問題を解決しました。

私はその後、ressourceフォルダとして画像ディレクトリを追加して:あなたの助けのための

Image img = new Image(getClass.getRessource("/logo.png").toString); 

感謝を。

関連する問題