2017-08-21 7 views
1

抽出/コンパイルされたJavaプログラムを実行しようとすると、画像が表示されます。その画像は、自分のPCに保存され、自分のPCのコードで扱われます。しかし、別のPCで同じプログラムを試してみると、写真や背景がなくなってしまいます。 画像をJavaコードに保存する際に、 kをImageViewに呼び出して、他のシステムでも表示できるようにしていますか? 私はJavaFXとFXML、CSSを使用しています。Javaの抽出、コンパイルされたJavaプログラムで私の背景イメージを保存する方法は?

+0

CLASSPATHに移動して、JARファイルにそれらを追加し、実行時にそれらを開くために 'ClassLoader'を使用して... –

+0

を言っていますクラスは? 2番目の部分は、ルートコードに近いメインクラスで実行していることを理解しました。申し訳ありません、私はJavaを使い始めました。 –

答えて

0

次の2つの方法を使用してJavaプログラムを使用して画像をバンドルすることができます。

1)あなたのjarファイル内に置く - などをという名前のパッケージを作成します。 「画像」とそこに画像を追加し、その後)

BufferedImage img = ImageIO.read(getClass().getResourceAsStream("/images/image.jpg"));

2使用して、それをロードし、あなたのjarファイルと同じフォルダにそれらを入れて、それらをロードします。あなたのために

BufferedImage img = ImageIO.read(new File("image.jpg"));

おそらく最良の方法はおそらく#1です。なぜなら、あなたはただ一つのjarを取得するからです。そのようなjarファイルをコピーして、画像を改ざんするのはより簡単です。

0

私はこれをこうしました。ありがとう!私はどこに私と同じパッケージにそれらを移動する必要があり

@Override 
public void start(Stage stage) throws Exception 
{ 
    Parent root = FXMLLoader.load(getClass().getResource("/grafika.fxml"));  
    Scene scene = new Scene(root); 
    scene.getStylesheets().add("/application.css"); 

    Image picture1 = new Image("/kava.jpg");         
    ImageView slika1 = new ImageView(picture1); 
    slika1.setImage(picture1); 

    stage.setScene(scene);              
    stage.setMaxHeight(530); 
    stage.setMaxWidth(800); 
    stage.setResizable(false); 
    stage.show(); 
} 
+0

こんにちは、これがあなたの問題に対する正しい解決策であれば、それを将来の参考のために受け入れられた答えとすることを検討してください – fantaghirocco

関連する問題