J'essaie de charger une image à partir d'un dossier nommé Custom dans lequel l'utilisateur place des images. Voici la méthode que je chargeais images:Java Image Chargement à partir du fichier .jar
public BufferedImage getCustImg(String path){
BufferedImage img = null;
String s = get.getProgramPath();
path = path.trim();
String s2 = s + "\\Custom\\" + path + ".png";
try{
img = ImageIO.read(this.getClass().getResource(s2));//gets image from file path
} catch (IOException e) {
e.printStackTrace();
}
return img;
}
Voici la méthode du chemin du programme
public String getProgramPath(){
File f = new File("./Resources/Sprtes/blank.png");
String s = f.getAbsolutePath();
String[] stringArr = s.split("Resources");
String s2 = stringArr[0];
s2 = s2.substring(0, s2.length() - 3);
return s2;
}
Quand je lance le tout code fonctionne bien, mais le problème semble lorsque je tente d'exécuter le programme un fichier .jar. Lorsque je l'exécute à l'aide d'un fichier .jar, l'image ne se charge pas. C'est là que le dossier personnalisé est en relation avec le fichier .jar:
Comment dois-je changer la méthode pour vous assurer que cela fonctionne?
S'il vous plaît lire doc java pour 'Class.getResource()'. –
Je pense que cet article pourrait répondre à votre question. http://stackoverflow.com/questions/38167205/loading-images-in-the-exported-jar-file – Olithegoalie