Bonjour,
J'ai ajouté un dossier images dans mon package.
Je me sers de ce code pour accéder aux images qu'il contient
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 +"')");
    }
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.
Voici le code de InvokeJs
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);
                    }
                }
            });
        }
    }
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
 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);
 
            }
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).