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

Agents de placement/Fenêtres Java Discussion :

Changer Icone JFrame


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 34
    Points : 48
    Points
    48
    Par défaut Changer Icone JFrame
    Bonjour à tous,

    Je veux changer mon icone de fenêtre (vous savez, la petite tasse de café).

    J'ai donc ajouté cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.setIconImage(new ImageIcon(getClass().getResource("/img/icone.gif")).getImage());
    (J'ai bien évidemment ajouté l'image "icone" dans le dossier "img" qui se trouve dans le "src" de mon projet. Le format est le bon).

    Cependant, à la compilation, il me lance une erreur du type :

    Exception in thread "main" java.lang.NullPointerException
    at javax.swing.ImageIcon.<init>(Unknown Source)
    at Fenetre_Menu.<init>(Fenetre_Menu.java:25)
    at Main.main(Main.java:33)
    Il ne trouve donc pas l'image ...
    Je suis sur le problème depuis un petit moment et je n'ai toujours pas trouvé la réponse.

    Je vous remercie d'avance

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Tu as essayé avec un autre format que GIF ? Si par malheur ton gif était animé ou avec une propriété bizarre ca pourrait ne pas marcher. Parce que en théorie tu as fait comme il faut dans le code.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 34
    Points : 48
    Points
    48
    Par défaut
    Bah oui j'ai essayé avec JPG, même erreur ...

  4. #4
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Bonjour,
    Citation Envoyé par fulcho Voir le message
    Bah oui j'ai essayé avec JPG, même erreur ...
    Essaie donc avec ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    try {
                Image icone = ImageIO.read(getClass().getClassLoader().getResource("tonImage"));
                this.setIconImage(icone);
     
            } catch (Exception e) {
                e.printStackTrace();
    }
    Pour que ça marche, ton image doit se situer dans la racine du dossier "src" de ton projet.
    Bonne chance
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  5. #5
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2012
    Messages : 149
    Points : 112
    Points
    112
    Par défaut
    Essai une fois sans le premier slash :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.setIconImage(new ImageIcon(getClass().getResource("img/icone.gif")).getImage());
    Sinon tu peux essayer ça :

    Dans ta class
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    public static final URL Backgnd = /*le nom de ta JFrame.class.getRessource("src de ton image")*/
    Main.class.getResource("img/icone.gif");
    Dans ton constructeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    setLayout(new BorderLayout());
    JLabel background = new JLabel(new ImageIcon(Backgnd));
    add(background);
    background.setLayout(new FlowLayout());

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 34
    Points : 48
    Points
    48
    Par défaut
    J'ai tout essayé, rien ne fonctionne. Malheureusement ! Et ça aurait été bien que ça marche, je compte présenter cette application au BTS et ça en jette un peu plus si il y a au moins mon propre logo.

  7. #7
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Citation Envoyé par fulcho Voir le message
    J'ai tout essayé, rien ne fonctionne. Malheureusement ! Et ça aurait été bien que ça marche, je compte présenter cette application au BTS et ça en jette un peu plus si il y a au moins mon propre logo.
    Rien ne fonctionne c'est rien dire. Tu as un message d'erreur ou quoi?
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Exception in thread "main" java.lang.NullPointerException
    at javax.swing.ImageIcon.<init>(Unknown Source)
    at Fenetre_Menu.<init>(Fenetre_Menu.java:25)
    at Main.main(Main.java:33)
    Ca veux dire que getClass().getResource("/img/icone.gif") renvoie null, donc qu'il n'y a pas de ressource appelée "/img/icone.gif" dans ton classpath. Tu dis avoir mis l'image dans ton src/img, mais comment tu a procédé pour compiler? Parce que, en général, dans le répertoire src/.... on ne met que les .java, les ressources on les met dans un dossier séparé.

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 34
    Points : 48
    Points
    48
    Par défaut
    Dans le dossier "src" de mon projet, j'ai juste crée un dossier "img" dans lequel je met mes images. Ce n'est pas la bonne façon de faire? Si non, quelqu'un aurait la mansuétude de m'expliquer rapidement?
    Merci d'avance

  10. #10
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Quel projet, quel ide? Quelle procédure de compilation? Tu lance ton application comment après? Il nous faut plus de détails. Il y a des dizaine de façon de faire, celle que tu adopte et utilisable dans certaines configurations, mais pas dans toutes.

  11. #11
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 34
    Points : 48
    Points
    48
    Par défaut
    J'utilise Eclipse en IDE. Pour créer un projet, tout bêtement New > Java Project.
    Etant encore en phase de développement de mon projet, je fais un Run Test classique.

  12. #12
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Voila tout ce que je peux faire, sachant que "chez moi ca marche ainsi". Ca t'aiguilleras peut être.

    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
    package cachinHash;
     
    import java.awt.BorderLayout;
    import java.awt.EventQueue;
     
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
     
    /**
     * @author Warnotte Renaud
     *
     */
    public class testicon extends JFrame
    {
     
    	private JPanel	contentPane;
     
    	/**
             * Launch the application.
             */
    	public static void main(String[] args)
    	{
    		EventQueue.invokeLater(new Runnable()
    		{
    			public void run()
    			{
    				try
    				{
    					testicon frame = new testicon();
    					frame.setVisible(true);
    				} catch (Exception e)
    				{
    					e.printStackTrace();
    				}
    			}
    		});
    	}
     
    	/**
             * Create the frame.
             */
    	public testicon()
    	{
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 450, 300);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		contentPane.setLayout(new BorderLayout(0, 0));
    		setContentPane(contentPane);
    		this.setIconImage(new ImageIcon(getClass().getResource("/img/amor.png")).getImage());
    	}
     
    }
    Images attachées Images attachées  
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par fulcho Voir le message
    J'utilise Eclipse en IDE. Pour créer un projet, tout bêtement New > Java Project.
    Etant encore en phase de développement de mon projet, je fais un Run Test classique.
    Alors ça devrais être bon. Juste un truc, le img/ et l'icone apparaissent bien dans le package explorer d'eclipse? Parce que si tu les a créé en dehors, il te faudra un click droit -> refresh.

    Regarde aussi si eclipse a la compilation automatique
    Enfin, dans le pire des cas project -> clean pour forcer eclipse à refaire tous le travail.

    Si ça ne marche toujour pas, poste nous le screenshot de ton package explorer, et ce qui se trouve dans project -> properties -> build path

  14. #14
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 34
    Points : 48
    Points
    48
    Par défaut
    Je me demandais, est ce que la taille de mon icone peut jouer un rôle quelconque dans le bug? Est ce qu'il y a une taille maximale?

  15. #15
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Pour savoir cela, il suffirait de tester la taille qui est censé aller (donc la taille réelle de l'icone dans la fenêtre) et tester avec une icone d'une taille plus grand et/ou plus petite. Mais la réponse est si tu prends une icone plus grande alors cela fonctionnera, elle sera resizée.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  16. #16
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par fulcho Voir le message
    Je me demandais, est ce que la taille de mon icone peut jouer un rôle quelconque dans le bug?
    Non, le message d'erreur indique clairement que getResource a renvoyé null, on n'a même pas encore eu l'occasion de commencer le décodage.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Exception in thread "main" java.lang.NullPointerException <-- on a reçu un null
    at javax.swing.ImageIcon.<init>(Unknown Source) <-- Vraisemblablement en paramètre du constructeur de ImageIcon
    at Fenetre_Menu.<init>(Fenetre_Menu.java:25) <-- Appelé à la ligne 25 de Fenetre_Menu.java
    at Main.main(Main.java:33)
    Et comme ce qu'on passe en paramètre du constructeur, c'est le résultat de getResource, qui peux être null, on peux décement conclure que getResource renvoie un null, donc ne trouve pas la resource.

  17. #17
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2012
    Messages : 149
    Points : 112
    Points
    112
    Par défaut
    Sinon montre nous un printscreen de l'arborescence de ton projet comme l'a fait wax78... on ne sait jamais

Discussions similaires

  1. changer icone d'une JFrame
    Par harris_macken dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 20/03/2008, 18h21
  2. [VB.NET]Mettre mon exe dans la taskbar + changer icone
    Par beegees dans le forum Windows Forms
    Réponses: 5
    Dernier message: 18/08/2006, 17h53
  3. lib systray4j changer icone
    Par gabule dans le forum Général Java
    Réponses: 5
    Dernier message: 22/06/2006, 11h33
  4. changer icone souris
    Par yann999 dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 16/05/2006, 20h26
  5. [ressources] Changer icone exe
    Par eric30eric dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 06/05/2005, 09h28

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