IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Graphisme Java Discussion :

[debutant] Image dans un jar


Sujet :

Graphisme Java

  1. #1
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 178
    Points : 61
    Points
    61
    Par défaut [debutant] Image dans un jar
    bonjour voici mon probleme. Je viens de faire une petite application donc dans cette application je doit avoir une image de fond et par dessu j'ia des bouton tranparent donc tout marche quand je lance l'application avec eclipse mais dans que je le lance dans un jar executable impossible d'avoir l'image

    voici le code de l'application
    il ya peut etre une fautes ou je n'utilise peut etre pas bien une fonstion de java pour inserer une image

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
     
     
    import java.awt.*;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
     
    import javax.imageio.ImageIO;
    import javax.print.DocFlavor.URL;
    import javax.swing.*;
     
     
    public class Menu {
     
    	//Déclaration des boutons et du Panel
    	JPanel Menu;
    	JPanel bouton;
    	JButton Connection;
    	JButton Enregistrer;
    	JButton Aide;
    	JButton Option;
    	JButton Quitter;
     
    	    Menu() throws IOException {
     
    	    	Menu = new JPanel();
     
    	    	//Afecte un gestionnaire de présentation a ce panneau
    	    	BorderLayout disposition = new BorderLayout();
    			Menu.setLayout(disposition);
     
    			//Crée les bouton en utilisant le constructeur de la classe 
    			//JButton qui prend en paramètre le libellé du bouton
    			Connection = new JButton("");
    			Enregistrer = new JButton("");
    			Aide = new JButton("");
    			Option = new JButton("");
    			Quitter = new JButton("");
     
    			JFrame frame = new JFrame("History And Futury");
    		    frame.setContentPane(Menu);
     
    		  //les different option de la frame 
    	      frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
    	      //rend la frame visible
    	      frame.setVisible(true);
    	      //affiche l'image
    	      frame.add(new Zone());
    	      //donne les mesure de la Frame
    	      frame.setBounds(500,280,347,457);
     
     
     
    	      Menu.setLayout(null);
    	      //enregistrer mes bouton dans le panneau menu
    	      Menu.add(Connection);
    	      Menu.add(Enregistrer);
    	      Menu.add(Aide);
    	      Menu.add(Option);
    	      Menu.add(Quitter);
    	      //Positionne les bouton a l'endroit indiquer
    	      Connection.setBounds(55, 123, 220, 30);
    	      Enregistrer.setBounds(55, 180, 220, 30);
    	      Aide.setBounds(55, 239, 220, 30);
    	      Option.setBounds(55, 296, 220, 30);
    	      Quitter.setBounds(55, 353, 220, 30);
     
    	      //rend les boutons invisible a l'oeil mais reste actif
    	      Connection.setContentAreaFilled(false);
    	      Enregistrer.setContentAreaFilled(false);
    	      Aide.setContentAreaFilled(false);
    	      Option.setContentAreaFilled(false);
    	      Quitter.setContentAreaFilled(false);
     
    	      moteur_Menu moteurCalcul = new  moteur_Menu(this);
    	      Connection.addActionListener(moteurCalcul);
     
    	   }
     
     
    	public static void main(String[] args) throws IOException {
    		Menu me = new Menu();
    	}
     
    }
     
    class  Zone extends JComponent{
    	 private BufferedImage image;
    	   public Zone() throws IOException {
     
    	  image = ImageIO.read(new File("Menu.png"));
    	   }
    	   public Zone(BufferedImage image) {
    	      this.image = image;
    	   }   
    	   protected void paintComponent(Graphics surface) {
    		   surface.drawImage(image, 0, 0, 340, 425, null);
    	   }   
     
    }

    voila le code merci de m'aider car si j'arrive pas faire cette peitit appication je ne pourrias pas continuer le restede ce projet

  2. #2
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Bonjour.
    On le dira jamais assez: Il y'a de fortes chances que votre problème ait déjà été rencontré par d'autres et que la solution a été fourni dans nos forums, alors, s'il vous plaît, n'hésitez pas à utiliser la fonction rechercher

    Par exemple, rien qu'hier, un problème similaire a été adressé, je vais donc me citer moi-même
    Citation Envoyé par djo.mos Voir le message
    Bonjour.
    En remplacant tous les accès via File par des accès Class.getResourceAsStream.
    Essaies de faire une ptite recherche dans les forums Java sur ce thème: ce sujet a été abordé maintes fois

    Bonne chance.

  3. #3
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 178
    Points : 61
    Points
    61
    Par défaut
    Dsl pour avoir fait un post similaire


    mais dans mon code en utilisant ceci le "Class.getResourceAsStream" sa donnerais quoi car je vois pas ou je doit le mettre car quand je remplace par le mais a la place di file sa me le marque ne rouge

  4. #4
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Tu peux par exemple regarder ce post:
    http://www.developpez.net/forums/sho...sourceAsStream

    C'est pas exactement ton problème, mais c'est presque ça.

  5. #5
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 178
    Points : 61
    Points
    61
    Par défaut
    meme en regardant le lien que tu ma passez j'ai pas trouver je vois pas le rapport avec moi

    sinon tu peut pas me donner un exemple concret d'une petit application de rien du tout pour savoir comment utiliser tout sa

  6. #6
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Bonjour.
    Voilà: il suffit de remplacer le:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image = ImageIO.read(new File("Menu.png"));
    par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image = ImageIO.read(XXX.class.getResourceAsStream("Menu.png"));
    où XXX dénote une classe dans le même répertoire que l'image Menu.png;
    [mode "Ha ! Je te l'ai dit"]
    Et si, la discussion que je t'ai donné le lien parle bel et bien de ce même problème, il suffisait de la lire jusqu'au bout et de consulter le javadoc de ImageIo.read. Même pas, il suffisait dans eclipse ou netbeans de taper "ImageIO.read(" pour s'apercevoir qu'elle prend ou bien File ou bien InputStream.
    [/mode "Ha ! Je te l'ai dit"]

    Bonne chance.

  7. #7
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 178
    Points : 61
    Points
    61
    Par défaut
    j'ai fait se que tu m as dit j'ai bine remplacer mais cela ne regle toujours pas mon probleme quand je lance mon jar toujour pas d'image et quand je le decompresse je n'est pas l'image dedans normale?

  8. #8
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Non, c'est pas normal ...
    Mais c'est normal que ça ne fonctionne pas du moment que ton jar ne contient pas l'image en question.
    Il faut inclure l'image dans ton projet, à la racine du dossier src par exemple, créer une classe Dummy dans le même niveau, et faire comme je t'ai montré dans mon post précédent.

  9. #9
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 178
    Points : 61
    Points
    61
    Par défaut
    bonne nouvelle pour tous et toutes

    mon application marche et meme dans le jar executable voici ma demarche

    -desinstallation de eclipse
    -telechargment de la derniere version de eclipse
    -reinstallation de eclipse
    -creation d'un nouveau projet
    -je retape exactement lememe code qui dit precedemment avec les légé changement dit precedemment aussi
    -je met l'image dans mon projet cree
    -j'actualise les fichier dans eclpse pour voir si l'image apparait
    -puis je fait mon jar executable et la sa marche oui je dit bine sa marche

    ps: bon je sais pas pourquoi celamarchais pas avant mais bon le temps que sa marche c'est le principale. je voudrias remercier
    djo.mos pour son aide pour pouvoir afficher une image
    et un copain a moi pour m'avoir aidé une parti de la nuit a trouver le probleme qui n'a pas ete trouver ^^

  10. #10
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Content que ça a marché
    Maitenant, il ne faut pas oublier le

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JLabel] texte HTML avec image dans un JAR
    Par matt11 dans le forum Composants
    Réponses: 5
    Dernier message: 18/08/2008, 13h53
  2. Images dans un jar exécutable..
    Par wariom dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 11/06/2006, 16h52
  3. [DEBUTANT] Image dans un .jar
    Par flzox dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 16/02/2006, 16h37
  4. [debutant]image dans une Frame
    Par charaf dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 09/11/2005, 16h35
  5. [JAR] Recherche d'1 image dans un JAR différent
    Par tomburn dans le forum Général Java
    Réponses: 5
    Dernier message: 26/04/2005, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo