Partage
  • Partager sur Facebook
  • Partager sur Twitter

Images dans un applet java

Sujet résolu
    20 octobre 2009 à 17:00:09

    Bonjour à tous,

    je suis face à un problème étrange avec l'exécution de mon applet java. Je n'arrive pas à lire une image sur le serveur, ni même à intégrer une image depuis sont url.

    la partie de code que je n'arrive pas à faire fonctionner correctement est la suivante :
    import java.awt.*; 
    import java.awt.Image;
    import javax.swing.JApplet;
    
    
    public class test extends JApplet {
    	
    	 private Image image;
    	
    	 public void init ()
    	 {
    	 // Création d'une image et lancement de son chargement
    	 image = getImage (getCodeBase (), "http://www.siteduzero.com/Templates/images/designs/2/zozor.png");
    	  
    	 } 
    	  public void paint(Graphics g) {
    		 g.drawImage(image, 0, 0, this); // Dessin de l'inmage dans l'applet
    		  } 
    }
    


    Le code (simplissime) compile parfaitement sous eclipse et s'exécute sans soucis. l'image apparait correctement.
    En revanche dans un navigateur web (firefox 3.5 ou IE 8) l'applet refuse de se lancer un donne le message d'erreur suivant :
    Java Plug-in 1.6.0_16
    Utilisation de la version JRE 1.6.0_16-b01 Java HotSpot(TM) Client VM
    
    java.security.AccessControlException: access denied (java.net.SocketPermission www.siteduzero.com resolve)
            at java.security.AccessControlContext.checkPermission(Unknown Source)
            at java.security.AccessController.checkPermission(Unknown Source)
            at java.lang.SecurityManager.checkPermission(Unknown Source)
            at java.lang.SecurityManager.checkConnect(Unknown Source)
            at sun.plugin2.applet.Applet2SecurityManager.checkConnect(Unknown Source)
            at sun.plugin2.applet.Plugin2Manager$AppletContextImpl.getImage(Unknown Source)
            at java.applet.Applet.getImage(Unknown Source)
            at java.applet.Applet.getImage(Unknown Source)
            at test.init(test.java:20)
            at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
            at java.lang.Thread.run(Unknown Source)
    Exception : java.security.AccessControlException: access denied (java.net.SocketPermission www.siteduzero.com resolve)


    y a-t'il un réglage particulier à réaliser à la compilation ou dans le navigateur pour permettre à l'applet d'aller chercher une image ???

    merci d'avances pour vos réponses,
    Shadow
    • Partager sur Facebook
    • Partager sur Twitter
      20 octobre 2009 à 17:18:33

      Je pense que le problème vient du fait que ton applet n'est pas signée et que pour faire ce que tu souhaites (en l'occurrence utiliser des sockets) c'est une nécessité. http://www.siteduzero.com/forum-83-440 [...] e-applet.html
      • Partager sur Facebook
      • Partager sur Twitter
        20 octobre 2009 à 17:25:00

        C'est tout à fait possible, je ne pensais pas qu'un certificat soit nécessaire pour une simple image. Je regarde ton lien pour voir si ca marche.


        EDITE : Le certificat marche parfaitement (merci bc, lien très clair).
        En revanche est-il possible de limiter la porté du certificat ? J'entends par là est-il possible de ne déverrouiller que les connections web, ou seulement l'accès à tel fichier du disque dur local plutôt que de donner carte blanche à l'applet !!!
        • Partager sur Facebook
        • Partager sur Twitter
          4 mai 2012 à 15:47:10

          Bonjour,

          Je remonte le sujet car j'ai réussi à afficher une image contenu dans le .jar sans signer mon applet, et comme je suis tombé sur ce post pendant mes recherches je distribue ma trouvaille :)

          URL url = this.getClass().getResource("/fond.jpg");
          Image image = new ImageIcon(url).getImage();
          
          • Partager sur Facebook
          • Partager sur Twitter

          Images dans un applet java

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown