Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/11/2012, à 17:11

Nak_Jon

[Java] Importer un image PNG avec JOptionPane

Bonjour,

Je suis étudiant en informatique (prog) et j'ai un devoir à faire, qui consiste à créer un "pseudo RPG". Bon dans mes cours habituellement nous utilisons JDev (mon enseignante préfère la mise en page de celui-ci lors de l'impression), je n'ai pas eu beaucoup de difficulté à m'adapter à éclipse.

Le problème est comme je l'ai rencontrer en cours sur l'IDE, c'est d'importer des images pour les utilisé comme icône dans le Swing JOP. Voilà un bout de code:

//Instancier un Personnage joueur
        Personnage joueur = new Personnage(nom, 20, 5, 1, 1);
        joueur.setImage(new File("").getAbsolutePath() + "\\Hero.png");
        
        //Afficher le message de bienvenue
        JOptionPane.showMessageDialog(null,
            "Bienvenue " + nom + " !" +
            "\nVous aurez plusieurs batailles  livrer afin de dfendre votre honneur." +
            "\nVous devez poursuivre tous les ennemis que vous rencontrerez et touts les tuer." +
            "\nSi vous survivez au terrible dragon Faermoore," +
            " vous serez salu comme vritable hros dans le monde !", "Jeu",
            JOptionPane.PLAIN_MESSAGE, new ImageIcon(joueur.getImage()));

Donc en gros sur le PDF d'instruction elle me demandait d'instancier en créant un genre de:

String cheminImage = new File("").getAbsolutePath()+ "\\Hero.png";

Personnellement je l'ai associer à ma classe objet pour l'utiliser plusieurs fois, je ne sais donc pas si c'est l'erreur.

Aussi, savez vous comment enlever les "?" au lieu des caractères XD

Si quelqu'un peut m'aider je lui en serait reconnaissant smile.


Asus K53SK                                                           Ubuntu 12.04 lts + Windows 7 Professionnel
Processeur: Intel® Core™ i7 2630QM                   Physique: 8GB SDRAM DDR3 1333MHz
HDD: 640Gb 5400rpm
Graphique: NVIDIA® GeForce® GT 540M 1GB DDR3 VRAM

Hors ligne

#2 Le 19/11/2012, à 20:22

louis94

Re : [Java] Importer un image PNG avec JOptionPane

Bonjour,

Si tu as une java.io.FileNotFoundException, la cause en est sans doute la suivante :
Sous Linux et Mac, les '\' dans les noms de fichiers sont remplacés par des '/'. C'est sans doute le problème dans ton code ; utilise File.pathSeparator à la place pour être portable. Tu peux aussi utiliser new File(null, "Hero.png"), qui va chercher le fichier dans le dossier courant.
Vérifie aussi la chose suivante : dans ton dossier de projet, tu dois avoir deux sous-dossiers (bin et src). Si les images sont uniquement dans src, elles ne seront pas accessibles de cette manière par l'application. La solution est de les ajouter manuellement dans le projet Eclipse ou de les copier dans bin.

Ton problème de ? est sans doute lié à l'encodage de ton fichier, assure-toi qu'il est en UTF-8.

Louis

Hors ligne

#3 Le 20/11/2012, à 18:57

Nak_Jon

Re : [Java] Importer un image PNG avec JOptionPane

En fait j'ai ré-ouvert Windows, en testant de les ajouter dans le fichier racine du projet (soit Aplication avec oracle) on elle s'affichent. Les caractère illisible je crois que c'est car JDev définit pas le UTF-8, mais à l'écriture il l'accepte, en outre il y a un conflit. J'ai donc due changer tout les caractère et configurer le projet en UTF-8, je n'ose pas l'ouvrir avec éclipse car je doute qu'il vas me refaire le scénario étant donné que ceci est paramétré à la création du fichier.

Je vais donc télécharger JDev pour Ubuntu, de toute façon j'y suit habituer, même si il à un poids de 1.6GB (environ 10 fois éclipse!). Merci de m'avoir allumer la cloche sur l'emplacement smile.

Encore désolé pour cette question de débutant ^^.


Asus K53SK                                                           Ubuntu 12.04 lts + Windows 7 Professionnel
Processeur: Intel® Core™ i7 2630QM                   Physique: 8GB SDRAM DDR3 1333MHz
HDD: 640Gb 5400rpm
Graphique: NVIDIA® GeForce® GT 540M 1GB DDR3 VRAM

Hors ligne