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 :

[Debutant] evenement sur un bouton


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier Avatar de stpaul04
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    272
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 272
    Points : 117
    Points
    117
    Par défaut [Debutant] evenement sur un bouton
    Bonjour a tous,

    je suis debutant en Java et j'essaie de faire un petit programme qui doit afficher un texte quand on clique su bouton, et ca marche, le probleme maintenant je veux ajouter un deuxieme bouton qui affiche un autre texte quand on clique dessus, et la ca ne marche pas, pouvez-vous m'aider svp a corriger mon erreur.

    voici mo programme:

    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
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
     
    public class Bouton22 extends Applet implements ActionListener
    {
     
    String msg=" ";
     
    Button click;
    Button press;
     
    public void init()
    {
    click=new Button("Click-me");
    add(click);
    click.addActionListener(this);
     
    press=new Button("Pressez");
    add(press);
    press.addActionListener(this);
     
     
     
    setBackground(Color.gray);
    setForeground(Color.black);
    }
    public void actionPerformed(ActionEvent ae)
    {
    String str=ae.getActionCommand();
    if(str.equals("CLick-me"));
    {
    msg="You pressed the button.";
    }
     
    else 
    if(str.equals("Pressez"));
    {
    msg="Vous avez appuyez sur le bouton.";
    }
     
    repaint();
    }
    public void paint (Graphics g)
    {
     
    g.drawString(msg,80,100);
     
     
    }
    }

  2. #2
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 27
    Points : 14
    Points
    14
    Par défaut
    Alors déja dans tes blocs "if" tu mets des ";" après la condition... par conséquent le code que tu mets ensuite sera exécuté quoi qu'il arrive.

    J'ai aussi remarqué que tu as mis un "L" à "Click-me"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(str.equals("CLick-me"))
    il faut un "l" minuscule.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 193
    Points : 66
    Points
    66
    Par défaut
    Pour + de propreté, dans ta methode actionPerformed, ne passe pas par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    String str=ae.getActionCommand();
    if(str.equals("CLick-me")) {
        // Le code que tu veux faire
    }
    mais bien par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        if (ae.getSource() == click) {
            // Le code associé au bouton click
        }
         if (ae.getSource() == press) {
            // Le code associé au bouton press
        }
    Qui est tout de même plus beau.


    Enfin pour ma part je ne bosse pas comme ca, pour + de clareté dans mon code je bosse de cette facon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    click = new JButton ("Click me");
    click.addActionListener (new ActionListener() {
          public void actionPerformed (ActionEvent ae) {
                 // Code associé au bouton click
          }
    });
    Voilà, si ce n est pas clair n'hesite pas a demander

  4. #4
    Membre confirmé Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Points : 474
    Points
    474
    Par défaut
    Exact,
    1. Remplace "CLick-me" par "Click-me"
    2. Enlève les ";" en fin de ligne des "if"


    Pour Bardack : Je suis OK pour le e.getSource() == btn, mais attention à ta dernière solution : c'est bon pour les petits codes, quand tu n'as que quelques instructions ! Dans le cas de gros traitements, rien ne vaux un ActionListener, ou encore mieux une classe héritant de AbstractAction

    ++

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 193
    Points : 66
    Points
    66
    Par défaut
    Tout à fait, c est bien de le préciser. Mais son code étant simple, cela me semblait approprié

Discussions similaires

  1. evenement sur le bouton precedente
    Par debutantasp dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 19/03/2008, 18h43
  2. Réponses: 0
    Dernier message: 09/11/2007, 22h06
  3. evenement sur le bouton?
    Par mitnick2006 dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 05/03/2007, 01h11
  4. Récupération d'un evenement sur un bouton
    Par mzibri dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 07/06/2006, 14h19
  5. [debutant] action sur un bouton
    Par EssaiEncore dans le forum ASP
    Réponses: 22
    Dernier message: 18/02/2005, 14h02

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