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

Interfaces Graphiques en Java Discussion :

Probleme avec des boutons


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 63
    Points : 44
    Points
    44
    Par défaut Probleme avec des boutons
    je parle pas ici des boutons du visage mais des boutons dans un jpanel qui ne veulent pas agir en utilisant des evenements

    j ai le code suivant
    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
     
     
    //declaration d une classe qui herite de JPanel
    public class panneau extends JPanel 
                                            implements ActionListener{
     
    // ... quelques commandes ici
     
    //gestion du placement
    setLayout(new FlowLayout(FlowLayout.LEFT));
    //declaration d un bouton
    JButton jb1=new JButton();
    //ajouter le bouton au panneau
    add(jb1);
    //associer un evenement a ce bouton
    jb1.addActionListener(this);
     
    //j ai pris un simple exemple qui affiche le texte salut dans la //fenetre de ms-dos mais rien ne se passe
    public void actionPerformed(ActionEvent e) {
     
    		     if(e.getSource() == jb1){
    		     // evenement relatif au boutant jbupdate
    		     System.out.println(" rien ne se passe ");
                         }
    mais quand je clique sur le bouton rien ne se passe...
    merci pour l aide

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Fais donc voir le constructeur de ta classe...
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Citation Envoyé par ocean24
    JButton jb1=new JButton();
    Visiblement, cette déclaration est locale (peut-être que c'est dans le constructeur?), le bouton n'est pas déclaré en tant que champ.

    Donc, dans la méthode actionPerformed, la référence "jb1" pointe sur quelque chose d'autre que ton bouton...

    En tout cas, si on n'a pas le code complet, difficile de mieux t'aider...

    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    non JButton jb1 est declarer en dehors de la classe

    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
     
     
    class update_structure extends JPanel implements ActionListener{
     
    	 JButton jb1;
     
    	public update_structure(){
     
    		super();
    		setBorder(BorderFactory.createTitledBorder(null, "Supprimer               
                               Structure ", javax.swing.border.TitledBorder.LEFT,  
                    javax.swing.border.TitledBorder.DEFAULT_POSITION, new 
                                 java.awt.Font("Tahoma", 1, 14), 
                                                  new java.awt.Color(0, 0, 153)));
                    setPreferredSize(new Dimension(500,68));
     
                    //initialisation du bouton
                    jb1=new JButton();
     
            jb1.setFont(new java.awt.Font("Lucida Console", 1, 14));
            jb1.setText(" Ajouter ");
            jb1.setBorder(new 
    javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
            jb1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
            jb1.setBackground(new Color(224,223,227));
     
            setLayout(new FlowLayout(FlowLayout.LEFT));
     
            add(jb1);
            jb1.addActionListener(this);
     
    	}
     
    	public void actionPerformed(ActionEvent e) {
     
    		     if(e.getSource() == jb1){
    		     // evenement relatif au boutant jbupdate
    		     System.out.println(" rien ne se passe ");
                 }
                 }
    }

  5. #5
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Ce code fonctionne parfaitement...
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  6. #6
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    BAh elle marche correctement ta classe....

    Il y a bien la mention "rien ne se passe" qui s'affiche dans la console quand tu cliques sur ton bouton, il est où ton problème?
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    malheuresement rien ne s affiche dans ma console

  8. #8
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Citation Envoyé par ocean24
    malheuresement rien ne s affiche dans ma console
    Oui, bin c'est que le problème vient d'ailleurs...

    Ce code source fonctionne: je l'ai testé, et sinok a fait pareil.

    Soit tu as une redirection des flux vers un fichier ou autre chose, soit tu exécutes une ancienne version de ta classe (tu as peut-être oublié de recompiler le code), soit il se passe autre chose...

    Mais je le répète, ce code est correct!!
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  9. #9
    Expert confirmé
    Avatar de X-plode
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    682
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2005
    Messages : 682
    Points : 4 883
    Points
    4 883
    Par défaut
    Salut,

    Et un troisieme test par mes soins. Et je confirme se qu'on dis Pill_S et sinok.

    Bonne chance

    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
     
    class update_structure extends JPanel implements ActionListener{
     
    	 public JButton jb1;
     
    	public update_structure(){
     
    		super();
    		setBorder(BorderFactory.createTitledBorder(null, "Supprimer               
                               Structure ", javax.swing.border.TitledBorder.LEFT,  
                    javax.swing.border.TitledBorder.DEFAULT_POSITION, new 
                                 java.awt.Font("Tahoma", 1, 14), 
                                                  new java.awt.Color(0, 0, 153)));
                    setPreferredSize(new Dimension(500,68));
     
                    //initialisation du bouton
                    jb1=new JButton();
     
            jb1.setFont(new java.awt.Font("Lucida Console", 1, 14));
            jb1.setText(" Ajouter ");
            jb1.setBorder(new 
    javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
            jb1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
            jb1.setBackground(new Color(224,223,227));
     
            setLayout(new FlowLayout(FlowLayout.LEFT));
     
            add(jb1);
            jb1.addActionListener(this);
     
    	}
     
    	public void actionPerformed(ActionEvent e) {
     
    		     if(e.getSource() == jb1){
    		     // evenement relatif au boutant jbupdate
    		     System.out.println(" rien ne se passe ");
                 }
                 }
    }
    PS :mais essaye ceci quand meme pour voir

  10. #10
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    ehhhhhhh oui je suis tellement bete

    je testait cette classe en l appelant depuis une autre classe pour l integrer dans un jframe, sauf que j appelais en faite une autre classe et que je pensait identique

    conclusion : j suis desolé pour le derrangement

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

Discussions similaires

  1. Probleme avec des socket !
    Par Ptimath44 dans le forum Réseau
    Réponses: 11
    Dernier message: 31/10/2005, 18h11
  2. Probleme avec des pointeurs...
    Par barucca dans le forum C++
    Réponses: 5
    Dernier message: 23/08/2005, 21h05
  3. Afficher un fond en arrière plan avec des boutons
    Par eGen dans le forum Agents de placement/Fenêtres
    Réponses: 15
    Dernier message: 03/04/2005, 23h37
  4. Problemes avec des cellules vides
    Par arsgunner dans le forum ASP
    Réponses: 7
    Dernier message: 14/06/2004, 08h42

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