2016-10-02 6 views
1

プロジェクトフォルダ内にいくつかの画像とxmlファイルがあります。たとえば、私のコードはsrc/app/MyClass.javaの中にあります。読みたいファイルはres/filename.pngres/filename.xmlです。Java/JavaFX、プロジェクトとjarファイルの中からファイルを読み込みます

私は私のプロジェクトのアイコンを与えたいと思ったのであれば、私はこれを行うだろう(エクリプスを通じて実行されている場合は正常に動作します):

primaryStage.getIcons().add(new Image("file:res/icon.png")); 

これに伴う問題は、私は.jarファイルを通してそれを実行したときにということです、画像は表示されません。他のファイルと同じこと。 jarファイルでxmlファイルを見つけることができません。

InputStream input = getClass().getResourceAsStream("res/icon.png"); 
primaryStage.getIcons().add(new Image(input)); 

しかし、Eclipseはinputnullであることを言う:

は、私はこれを試してみました。私は間違って何をしていますか?どんな助けもありがとう!

+0

チェックJarにあなたのイメージが入っているかどうか。 – Alexiy

+0

はい、imagesファイルとxmlファイルはjarファイル内にあります。私はチェックするために7-zipでそれを開いた。 – cress

答えて

1

このような場合には、いくつかの可能性があります。最初のものは、実行可能なJARファイルではなくJARを実行していることです。プログラムがイメージを表示できないもう一つの理由は、エクスポートするときに以下のように必要なライブラリを抽出するボタンをクリックしていないことです。以下のケースコメントのいずれも該当しない場合


Once you click finish you should be able to run the file with no issue.source folderという名前resources(右クリックプロジェクト]> [新規]> [ソースフォルダ)を作成してみてください、そこにすべてをかけます。今すぐgetClass().getResourceAsStream("/file.ext")を実行でき、それはnullであってはなりません。

他のエラーは、あなたが(上の写真次)あなたのjarファイルを作成した後、コマンドライン/端子を介してこれを実行することができ、それはあなたが持っている可能性のあるエラーを表示する必要がありますがある場合:

java -jar jarfile.jar 
+0

私はjarファイルを作るためにこのチュートリアルに従っていました:http://wiki.eclipse.org/Efxclipse/Tutorials/Tutorial1。自分のやり方で試してみると、jarファイルをダブルクリックすると何も出ません。これはバックグラウンドで開かれているように見えます(タスクマネージャはJavaプロセスの実行を示しています)。リンクされたチュートリアルに従うと、これは時々起こることもありますが、めったにありません。私のプロジェクト構造に何が間違っているか分かりません。 – cress

+1

ええとこれは私が物を輸出するのに使ったチュートリアルです。これはEXE用ですが、このプロセスではRunnable JARファイルを作成します。 http://www.wikihow.com/Create-an-Executable-File-from-Eclipse –

+0

私はそれを理解しました。投稿を編集して解決策を追加しました。チュートリアルでjarファイルを作成する方が良い方法でした。助けてくれてありがとう! – cress

関連する問題