Bonjour,
J'ai ajouté un dossier images dans mon package.
Je me sers de ce code pour accéder aux images qu'il contient
Quand je lance avec netbeans aucun soucis; les images s'affichent par contre dés que je compile quand je lance mon fichier.jar la je n'ai que l'image defaut.png.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public void setadresse(String ad,String nom,String image){ String img = null; String Chemin = null; try{ Chemin = getClass().getResource("images/"+image+".png").getPath(); File test_img = new File(Chemin); if(test_img.exists()){ img = "images/"+image+".png"; }else{ img = "images/AUTRE.png"; } }catch(Exception ex){ img = "images/defaut.png"; } invokeJS("codeAddress('" + ad + "', '" + nom +"', '" + img +"')"); }
Voici le code de InvokeJs
et je mets aussi le javascript
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 private void invokeJS(final String str) { if(ready) { doc.eval(str); } else { webEngine.getLoadWorker().stateProperty().addListener(new ChangeListener<Worker.State>() { @Override public void changed(final ObservableValue<? extends Worker.State> observableValue, final Worker.State oldState, final Worker.State newState) { if (newState == Worker.State.SUCCEEDED) { doc.eval(str); } } }); } }
Je ne pense pas que se soit un problème de la fonction "InvokeJs" ni du javascript car l'image défaut s'affiche ce qui implique que le javascript a accès au dossier contenant les images.(Image "defaut" est dans le même dossier que les autres).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 function codeAddress(ad,nom,img) { var address = ad; var image = img; geocoder.geocode( { 'address': address}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { map.setCenter(results[0].geometry.location); var marker = new google.maps.Marker({ map: map, position: results[0].geometry.location, title: nom, icon: image }); markers.push(marker); }
Partager