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

AWT/Swing Java Discussion :

Changer l'icone de JOptionPan


Sujet :

AWT/Swing Java

  1. #1
    Membre actif
    Inscrit en
    Avril 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 81
    Par défaut Changer l'icone de JOptionPan
    Salut, Svp j'ai une probleme.
    Je vais changer l'icone de la point d'interrogation verte qui apparait dans la boite de dialogue par une autre image
    L'orsque j'ecrit ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int Reponse=JOptionPane.showConfirmDialog(this,"Vouler vous vraiment quitter ?","Etiquettes Java",JOptionPane.YES_NO_OPTION,new ImageIcon( getClass().getResource("/img/Qui.png")));
     
    if(Reponse==JOptionPane.YES_OPTION)
                {
                    dispose();
                }


    Il m'affiche"cannot find symbol method showConfirmDialog(Authentification,java.lang.String,java.lang.String,int,javax.swing.ImageIcon)"

    et si j'enleve le text ecrit en vert sa fonctionne mais avec l'icone par defaut

    Svp est ce que vous avez des solutions et merci.

  2. #2
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Tout d'abord, si tu regardes la méthode showConfirmDialog dans la Javadoc tu verras que la méthode appelé pour changer l'icône prend 6 paramètres et non 5... Ensuite, si ça ne marche toujours pas, essai de déclarer ton Icon avant de l'utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Icon image = new ImageIcon( getClass().getResource("/img/Qui.png"));
    JOptionPane.showConfirmDialog(this,"Vouler vous vraiment quitter ?","Etiquettes Java",
               JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, image);
    Et ça devrait marcher ^^
    Pas garanti, mais presque

    Voilà, ++
    Gueritarish

  3. #3
    Membre actif
    Inscrit en
    Avril 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 81
    Par défaut
    merci, c vrai que dans ce cas le compilateur n'affiche aucune erreur mais la boite de dialogue ne s'affiche pas et rien ne se passe.

  4. #4
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Avec plaisir ^^

    Oublie pas le tag si tout est ok :
    Voilà, ++
    Gueritarish

  5. #5
    Membre actif
    Inscrit en
    Avril 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 81
    Par défaut
    Ok ,j'attend votre reponse

  6. #6
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Euh ma réponse sur quoi?

    Gueritarish

  7. #7
    Membre actif
    Inscrit en
    Avril 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 81
    Par défaut
    Citation Envoyé par Gueritarish Voir le message
    Salut,

    Tout d'abord, si tu regardes la méthode showConfirmDialog dans la Javadoc tu verras que la méthode appelé pour changer l'icône prend 6 paramètres et non 5... Ensuite, si ça ne marche toujours pas, essai de déclarer ton Icon avant de l'utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Icon image = new ImageIcon( getClass().getResource("/img/Qui.png"));
    JOptionPane.showConfirmDialog(this,"Vouler vous vraiment quitter ?","Etiquettes Java",
               JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, image);
    Et ça devrait marcher ^^
    Pas garanti, mais presque

    Voilà, ++
    Gueritarish



    Mais je te dis que le probleme dans ce cas que la boite de dialogue ne s'affiche plus.

  8. #8
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Alors, une ou deux idées en vrac....
    Tout d'abord, essaye de voir si ton image est bien chargée, si elle n'est pas nulle.
    Enfin, regarde bien si la fenêtre n'est pas caché... Par exemple, l'image est trop grande, et la fenêtre occupe tout l'espace de ton bureau et tu ne peux pas la voir... Regarde par exemple dans la barre des tâches si il n'y a pas l'icone de ta fenêtre
    Bref, ce sont 2, 3 idées à creuser... Je peux pas faire mieux sans avoir ton code sous les yeux ^^

    Voilà, ++
    Gueritarish

  9. #9
    Membre actif
    Inscrit en
    Avril 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 81
    Par défaut
    Voici le 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
    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
     
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;
     
     
    public class Authentification extends JFrame implements ActionListener
    {
    	JButton AAnnuler, AValider, B;
    	JTextField TF1;
    	JPasswordField TF2;
     
    	Authentification ()
    	{
     
    		TF1 = new JTextField(10);
    		TF2 = new JPasswordField(10);
     
    		JLabel L1 = new JLabel("Login");
    		JLabel L2 = new JLabel("Password");
     
    		JPanel PA1 = new JPanel();
    		PA1.setLayout(new GridLayout(1,2));
     
    		JPanel PA2 = new JPanel();
    		PA2.setLayout(new GridLayout(1,2));
     
    		JPanel PA3 = new JPanel();
    		AAnnuler = new JButton("Annuler");
    		AValider = new JButton ("Valider");
     
    		PA1.add(L1);
    		PA1.add(TF1);
    		PA2.add(L2);
    		PA2.add(TF2);
    		PA3.add(AAnnuler);
    		PA3.add(AValider);
     
    		add(PA1, "North");
    		add(PA2, "Center");
    		add(PA3, "South");
     
    		pack();
    		setVisible(true);
    		setResizable(false);
    		setTitle("Authentification");
    		AValider.addActionListener(this);
    		AAnnuler.addActionListener(this);
    		this.addWindowListener(new Ferm());
    	}
    	class Ferm extends WindowAdapter
    	{
    		public void windowClosing(WindowEvent e)
    		{
    			dispose();
    		}
    	}
     
    	public void actionPerformed(ActionEvent e)
    	{
    		B=(JButton)e.getSource();
    		String T1=TF1.getText();
    		String T2=TF2.getText();
     
    		if(B==AValider)
    		{
    			/*Si ti peut je vais changer l'icone ici aussi et merci*/
    			JOptionPane.showMessageDialog(null, "Salut","Bonjour",JOptionPane.WARNING_MESSAGE);
    		}
     
    		else if (B==AAnnuler)
    		{
    			//Celui ci ca marche
    			/*int Reponse=JOptionPane.showConfirmDialog(this,"Vouler vous vraiment quitter ?","Etiquettes Java",JOptionPane.YES_NO_OPTION);*/
     
    			//Dans ce cas la boite de dialog ne s'affiche plus
    			Icon image = new ImageIcon( getClass().getResource("/img/Quit.png"));
    			int Reponse=JOptionPane.showConfirmDialog(this,"Vouler vous vraiment quitter ?","Etiquettes Java",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE, image);
    			if(Reponse==JOptionPane.YES_OPTION)
    			{
    				dispose();
    			}
     
    		}
     
    	}
     
    	public static void main(String []args)
    	{
    		Authentification a=new Authentification();
    	}
    }


    Si tu peut je veut inserrer cette image aupres de l'interface a la partie gauche Comment le faire.
    J'attend votre reponse et merci
    Images attachées Images attachées   

  10. #10
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Pour ma part, ceci marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Icon image = new ImageIcon("img/Quit.png");
    int Reponse=JOptionPane.showConfirmDialog(null,"Vouler vous vraiment quitter ?","Etiquettes Java",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE, image);
    Ensuite, si tu veux charger une ressource présente dans le classpath, il te faut faire comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    URL urlImage = this.getClass().getClassLoader().getResource("img/Quit.png");
    Icon image = new ImageIcon(urlImage);
    int Reponse=JOptionPane.showConfirmDialog(null,"Vouler vous vraiment quitter ?","Etiquettes Java",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE, image);
    Voilà, fais bien attention à ce que ton dossier img soit à la racine de ton classpath...

    Bonne continuation
    Voilàa, ++
    Gueritarish

  11. #11
    Membre actif
    Inscrit en
    Avril 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 81
    Par défaut
    merci bokou. C'est resolu

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/04/2005, 09h47
  2. [MFC]changer l'icone d'un éxécutable
    Par Blo0d4x3 dans le forum MFC
    Réponses: 3
    Dernier message: 31/08/2004, 18h20
  3. [C#] Changer l'icone dynamiquement
    Par Piolet dans le forum Windows Forms
    Réponses: 16
    Dernier message: 25/08/2004, 14h08
  4. [Swing]changer l'icone du hotjava
    Par juflata dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 11/08/2004, 15h08
  5. Réponses: 4
    Dernier message: 16/02/2004, 16h55

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