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

Java ME Discussion :

Insertion d'image application J2ME


Sujet :

Java ME

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Insertion d'image application J2ME
    Salut, je débute avec J2ME et j'aimerais placé une image dans mon application. J'ai cherché un peu sur le net mais mon code ne marche pas, l'image se charge bien apparemment mais quand je veux l'afficher dans la fonction "run()" de mon Canvas lorsque je compile j'ai une erreur dans la console.

    Voici ce qu'affiche la console :
    Running with storage root
    Running with locale: French_France.1252
    Running in the identified_third_party security domain
    java.io.IOException
    at javax.microedition.lcdui.ImmutableImage.getImageFromStream(+15)
    at javax.microedition.lcdui.ImmutableImage.<init>(+20)
    at javax.microedition.lcdui.Image.createImage(+8)
    at Moteur.<init>(+25)
    at Bing.<init>(+12)
    at java.lang.Class.runCustomCode(+0)
    at com.sun.midp.midlet.MIDletState.createMIDlet(+34)
    at com.sun.midp.midlet.Scheduler.schedule(+52)
    at com.sun.midp.main.Main.runLocalClass(+28)
    at com.sun.midp.main.Main.main(+80)
    Execution completed.
    Je ne vous présente pas le code du chargement et de l'affichage de mon image car il est assez conséquent, mais si vous voulez un exemple de mon code je peux vous en faire un.

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 064
    Points
    219 064
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Citation Envoyé par adikse Voir le message
    Je ne vous présente pas le code du chargement et de l'affichage de mon image car il est assez conséquent, mais si vous voulez un exemple de mon code je peux vous en faire un.
    Oh quel dommage ...
    J'ai cassé ma boule de crystal © DVP 2011, et du coup, je ne vais pas pouvoir deviner la source de l'erreur.
    Je vous conseille, si vous ne voulez pas montrer tout le code, d'au moins montrer celui qui est alentour de l'endroit où est lancé l'exception. Car un IOException, c'est tout de même très vague, vous ne trouvez pas.

    De plus, je crois que la chargement du fichier ne se fait pas correctement ->
    at javax.microedition.lcdui.Image.createImage(+8)
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Voici donc un bout de code :

    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
    import java.io.IOException;
     
    import javax.microedition.lcdui.*;
    import javax.microedition.midlet.*;
     
    public class MainClass extends MIDlet
    {
     
        public MainClass()
        {
     
        }
     
        public void destroyApp(boolean unconditional)
        {
     
        }
     
        protected void startApp()
        {
            try {
                Image image = Image.createImage("image.png");   
                Graphics g = image.getGraphics();    
                g.drawImage(image, 0, 0, 0);   
            } catch (IOException e) {
                e.printStackTrace();
                System.err.println("Creation de l'image echoué");
            }
        }
     
        protected void pauseApp()
        {
     
        }
    }

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 064
    Points
    219 064
    Billets dans le blog
    120
    Par défaut
    Je pense toujours que c'est simplement parce que le fichier n'est pas lu. Il faut lire la doc, pour voir si on ne peut pas précisé le message d'erreur ou attrappé une exception plus précise.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut
    Si l'image est dans la source ( class path):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    
     protected void startApp()
        {
            try {
                Image image = Image.createImage("/image.png");   
                Graphics g = image.getGraphics();    
                g.drawImage(image, 0, 0, 0);   
            } catch (IOException e) {
                e.printStackTrace();
                System.err.println("Creation de l'image echoué");
            }
        }

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    @jahbromo :
    J'ai essayé de rajouter le "/" mais j'ai la même erreur.

    @LittleWhite :
    D'après la doc il n'y a que IOException et NullPointerException, pour ce dernier l'exception se lève lorsque le nom de l'image est null ce qui n'est pas le cas dans mon code.

  7. #7
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 064
    Points
    219 064
    Billets dans le blog
    120
    Par défaut
    Citation Envoyé par adikse Voir le message
    @LittleWhite :
    D'après la doc il n'y a que IOException et NullPointerException, pour ce dernier l'exception se lève lorsque le nom de l'image est null ce qui n'est pas le cas dans mon code.
    Hum
    if the resource does not exist, the data cannot be loaded, or the image data cannot be decoded
    Peut etre que le format n'est pas compatible.
    Je vous conseillerai du .BMP alors ...
    Sinon, c'est que le fichier n'est pas la ou il faut
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    J'ai essayé avec une image ".bmp" et ça ne marche toujours pas. Donc a priori je doit me tromper de dossier, dans quelle dossier doit on mettre l'image ?

  9. #9
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 064
    Points
    219 064
    Billets dans le blog
    120
    Par défaut
    Citation Envoyé par adikse Voir le message
    J'ai essayé avec une image ".bmp" et ça ne marche toujours pas. Donc a priori je doit me tromper de dossier, dans quelle dossier doit on mettre l'image ?
    Dans le dossier du programme (ou du moins, dans celui ou est lance le programme)
    Je fais souvent plusieurs test.
    D'ailleurs, pour etre sur d'etre sur la bonne voix, l'astuce est d'utiliser un code qui verifie si le fichier existe (File.exists ou un truc du genre)
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  10. #10
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut
    1. C'est pas un problème d'extension que tu as.

    2. Image image = Image.createImage("image.png"); : Cette ligne genere IOEXCEPTION. Par consequent il n'a pas pu créer l'image. Il retourne null

    3.Comme il n'a pas pu créer l'image, alors ta variable image est donc null et tu essaye d'appliquer la methode Image#getGraphics() sur un object null d'ou NullPointerException.


    Bon voici un code qui te permettra d'afficher une image en Java ME. Le resultat est aussi joint en capture d'ecran. Tu verra aussi où mettre exactement l'image et comment l'appeler.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci pour ta réponse jahbromo mais pour tester ton programme, vu que je n'utilise pas NetBeans, je l'ai lancer via Wireless Toolkit et le programme ne charge toujours pas l'image...
    Images attachées Images attachées  

  12. #12
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut
    Citation Envoyé par adikse Voir le message
    Merci pour ta réponse jahbromo mais pour tester ton programme, vu que je n'utilise pas NetBeans, je l'ai lancer via Wireless Toolkit et le programme ne charge toujours pas l'image...
    Donc tu veux dire que le resultat d'un programme Java depends de l'editeur aussi???
    Tu utilise quel IDE???

  13. #13
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut
    Citation Envoyé par jahbromo Voir le message
    Donc tu veux dire que le resultat d'un programme Java depends de l'editeur aussi???
    Tu utilise quel IDE???

    Je viens de l'executer avec Wireless Toolkit et ça me donne exactement le resultat.

    Ton erreur est qu'avec Wireless Toolkit, tu dois placer l'image dans le dossier class c'est à dire a coté des fichier .class et non à coté des fichiers sources.

    Donc il faut charger le projet, et compiler d'abord ( build) et WTK va te generer un dossier class, alors tu mets l'image dans ce dossier class.

    S'il te genere une erreur d'execution "Not Yet supported", tu supprime cette methode. Il ne sert à rien.

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci, désoler de ne pas avoir répondu avant, mais ça marche maintenant.

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

Discussions similaires

  1. [CR 9] Insertion d'image et poids des états
    Par cdu dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 19/02/2021, 11h46
  2. Formulaire et insertion d'image
    Par cadomalo dans le forum Access
    Réponses: 5
    Dernier message: 10/01/2006, 10h40
  3. Insertion d'image
    Par Bouboubou dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 8
    Dernier message: 11/12/2005, 22h44
  4. [JTable] Insertion d'images dans la première colonne
    Par cocolepelo dans le forum Composants
    Réponses: 2
    Dernier message: 29/11/2005, 15h17
  5. [CR8.5][Visual Adelia] Insertion d'images sur état
    Par adu dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 01/12/2004, 16h34

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