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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 63
    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 confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Fais donc voir le constructeur de ta classe...

  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
    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...


  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 63
    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
    Par défaut
    Ce code fonctionne parfaitement...

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    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?

  7. #7
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 63
    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
    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!!

+ 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