現在、ゲームを開発しようとしています。エクスポートするときにファイルパスが変更されています。エクスポート時にファイルパスを変更する
package random;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
public class Troll extends JFrame{
/**
*
*/
private static final long serialVersionUID = 4176461585360667597L;
public static BufferedImage img;
public static void main(String[] args){
File f = new File("troll.png");
try{
if(f.exists()){
System.out.println("ITS THERE! :D");
img = ImageIO.read(f);
} else {
System.out.println("DOESNT EXIST, REAL PATH IS: " + f.getAbsolutePath());
}
}catch(Exception e){
e.printStackTrace();
}
new Troll();
}
public Troll(){
init();
}
public void init(){
setSize(1200,800);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
public void paint(Graphics g){
g.drawImage(img, 500, 350, this);
}
}
私は、Eclipse(私が使用しているIDE)を介して、それを実行すると、それがうまく実行していると、それは、画像を見せている。ここで
はコードです。 jar2Exeソフトウェアを使用してjarファイルとしてエクスポートし、exeファイルに変換すると、イメージは表示されず、コンソールにはイメージの絶対パスがデスクトップ上に表示されます。しかし、7-Zipを使ってexeを開くと、その画像はexeにあります。
私はデスクトップ上にあると思っているのではなく、ユーザーがそれを実行すると、プログラムがファイルパスを見つけてイメージを表示できるように、どのようにエクスポートできますか?私はこのことを願っています
両方の答えが示唆されていますが、アプリケーションリソースはデプロイ時に埋め込まれたリソースになりますので、今のようにアクセスすることをお勧めします。 [タグ:埋め込みリソース]は、ファイルではなくURLでアクセスする必要があります。 [info。埋め込みリソースのページ](http://stackoverflow.com/tags/embedded-resource/info)を参照してください。 –