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 :

clic bouton qui affiche une boite de dialogue


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Par défaut clic bouton qui affiche une boite de dialogue
    bonsoir

    j'ai une interface graphique (fenêtre) et un bouton dedans
    je cherche un code simple qui donne à mon bouton la possibilité d'afficher une boite de dialogue par simple clic sur ce bouton

    merci à vous

  2. #2
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    salut,

    utilises les méthodes la classe JOptionPane ( showConfirmDialog, showInputDialog, showMessageDialog )

    jette un oeil ici : http://java.sun.com/docs/books/tutor...ts/dialog.html

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Par défaut
    voici mon 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
    public class Fenetre extends JFrame implements ActionListener{
     
     
    /**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
     
    /**
             * 
             */
     
     
     
     
     
     
    	public Fenetre() {
    		super();
    		build();
    		}
     
     
    	public void build() {
    		setTitle("Atelier"); 
    		setLocationRelativeTo(null); 
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setContentPane(buildContentPane());
     
    		}
     
     
     
     
    	public JPanel buildContentPane() {
    		/*panneau qui contient les boutons*/
    		JPanel panel1 = new JPanel();
    	    panel1.setLayout(new GridLayout(18 ,18,18,18 ));
    		panel1.setBackground(Color.white);
    		panel1.applyComponentOrientation(    ComponentOrientation.RIGHT_TO_LEFT);
     
     
    		JPanel panel = new JPanel();
    		panel.setLayout(new BorderLayout());
     
     
     
    		JButton bouton1 = new JButton("ouvrir dialogue");
    		panel1.add(bouton1);
                    bouton1.addActionListener(this);
     
     
     
    		panel.add("West",panel1);
     
    	   return (panel);
     
    		}
     
    	public void actionPerformed(ActionEvent e){
    		JButton bouton1 = (JButton)e.getSource();
            String src_text = bouton1.getText();
     
            JOptionPane.showMessageDialog(null, "Vous avez appuyé sur le bouton " + src_text);
     
     
     
     
    	}
     
     
     
     
     
    	public static void main(String[] args){
    		Fenetre fenetre = new Fenetre() ;
    		fenetre.setVisible(true);
    		}
    }





    tout est dans l'ordre, mais Eclipse me dit que je dois créer une classe pour "JOptionPane" qui reste soulignée en rouge.
    j'arrive pas à comprendre d'ou vient le problème

  4. #4
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    tu as fais l'import nécessaire ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import javax.swing.JOptionPane;

  5. #5
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Pense à mettre la balise code.
    As tu fait les import?

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Par défaut
    maintenant que j'ai fait l'import , l'affaire est réglée, mais le programme me demande de créer un field pour getText qui est souligné dans cette ligne en rouge:
    String src_text = bouton1.getText();

  7. #7
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    c'est pas getText(), c'est getActionCommand() qu'il faut utiliser

  8. #8
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Par défaut
    oui merci
    finalement voici le code corrigé qui permet d'afficher,au clic du bouton, une boite de saisie(tel que je le veux):

    public void actionPerformed(ActionEvent e){

    if
    (e.getActionCommand().equals("ouvrir dialogue"))

    JOptionPane.showInputDialog(null, "Veuillez saisir votre identité !", "Identification", JOptionPane.QUESTION_MESSAGE);
    }

  9. #9
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Par défaut
    merci pour vos réponses
    ça m'a beaucoup aidé

  10. #10
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    mais dans ton code, tu ne récupères pas la chaine de caractère saisie !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public void actionPerformed(ActionEvent e){
    	if (e.getActionCommand().equals("ouvrir dialogue"))
    	{
    		String identite = JOptionPane.showInputDialog(null, "Veuillez saisir votre identité !", 
    				"Identification", JOptionPane.QUESTION_MESSAGE);
    		//code du traitement de l'identité
    	}
    }

  11. #11
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Par défaut
    j'ai pas compris ce que tu veux dire

  12. #12
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    dans ton code, tu mettais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public void actionPerformed(ActionEvent e){
     
    if
    (e.getActionCommand().equals("ouvrir dialogue"))
     
    JOptionPane.showInputDialog(null, "Veuillez saisir votre identité !", "Identification", JOptionPane.QUESTION_MESSAGE);
    }
    ce qui fait que l'utilisateur saisis son identité, mais comment tu sauras ce qu'il a saisis??

  13. #13
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Par défaut
    je travaille pour le moment sur l'interface graphique
    pour récupérer le mot saisi par l'utilisateur , il me faut une base de données, ce que je laisse pour plus tard

    mais pour le moment, j'ai un autre probleme:
    mon code de la méthode ActionPerformed n'est appliquable que sur des boutons dont le contenu est une chaine de caracteres(ici "ouvrir dialogue")
    je cherche comment le modifier pour que ça fonctionne sur un bouton dont le contenu est une image déclaré comme ceci:

    JButton folder = new JButton(new ImageIcon("C:\\Documents and Settings\\Naira\\workspace\\calculatrice\\ressources\\folder.png"));

  14. #14
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Par défaut
    j'ai essayé avec ceci mais ça ne marche pas:

    public void actionPerformed(ActionEvent e){

    if
    (e.getActionCommand().equals("C:\\Documents and Settings\\Naira\\workspace\\calculatrice\\ressources\\folder.png"));

    JOptionPane.showInputDialog(null, "Veuillez saisir votre identité !", "Identification", JOptionPane.QUESTION_MESSAGE);
    }


    je crois que je dois modifier le equals avec autre chose, mais je ne sais pas par quoi

  15. #15
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    tu pourrais toi même spécifier l'actionCommand grâce à la méthode setActionCommand(String actionCommand) de JButton
    donc, dans ton exp,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    JButton folder = new JButton(new ImageIcon("..."));
    folder.setActionCommand("folder");
    et puis dans la méthode actionPerformed, tu ajoutes le test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (e.getActionCommand().equals("folder")) {...}
    tu remplaces "folder" par l'identificateur que tu veux,

  16. #16
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Par défaut
    merci bien
    ça m'a beaucoup aidé

    je crois que mon problème est que je ne manipule pas assez bien les bases du langage(je suis débutante) et j'ai commencé avec les interfaces graphiques

    si tu connais un cours qui peut m'aider, merci de me le dire

    salut

  17. #17
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655

  18. #18
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Par défaut
    merci bien

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/04/2011, 10h57
  2. icone de bouton qui affiche une LOV
    Par med_anis_dk dans le forum Forms
    Réponses: 4
    Dernier message: 29/05/2006, 02h25
  3. Réponses: 2
    Dernier message: 20/04/2006, 14h20
  4. comment afficher une boite de dialogue simple ?
    Par Ekimasu dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 08/06/2004, 17h46
  5. Réponses: 5
    Dernier message: 04/04/2003, 16h02

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