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

 Java Discussion :

Comment écouter un bouton


Sujet :

Java

  1. #1
    Membre actif
    Homme Profil pro
    Intéréssé de programmation
    Inscrit en
    Octobre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Intéréssé de programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2014
    Messages : 24
    Par défaut Comment écouter un bouton
    bonjour, j'ai trouver ce code sur un cour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    JButton quitter = new JButton("quitter");
     
    private static void ecoute() {
            quitter.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent event){
                System.exit(0);
     
            }
           });
        }
    mais ce code ne marche pas!
    quand on appui sur le boutton "quitter" il ne ce passe rien.
    merci de corriger mon code (j'ai importer les choses a importée)

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Il est tel quel dans ce "cours" ce bout de code ? Si tu peux voir un bouton "quitter", je suppose qu'il y a autre chose (au moins une classe, du code qui créé une JFrame, qui y met le bouton, etc... Comment deviner ce qui pourrait manquer dans le code sans l'avoir ? A part que la méthode ecoute() (static en plus - horreur !) n'est appelée nulle part.

    Oublie ce cours, et va voir les tutoriels sur DVP. S'ils peuvent parfois être un peu ancien (donc pas forcément avec toutes les dernières nouveautés syntaxiques de Java 8 par exemple), ils sont complets. Par exemple, un cas complet sur les boutons SWING ici.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    961
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 961
    Par défaut
    Citation Envoyé par Theinfrarougegp Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    JButton quitter = new JButton("quitter");
     
    private static void ecoute() {
            quitter.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent event){
                System.exit(0);
     
            }
           });
        }
    Ce code ne devrait même pas pouvoir être compilé : la méthode statique ecoute ne peut pas appeler l'attribut non statique quitter. Pouvez-vous nous montrer le code complet?

    Citation Envoyé par Theinfrarougegp Voir le message
    j'ai importer les choses a importée
    D'habitude je ne m'occupe pas des fautes de Français mais là c'est drôle : vous avez utilisé l'infinitif à la place du participe passé et vice versa dans la même phrase. Il aurait fallu écrire "J'ai importé les choses à importer."

  4. #4
    Membre actif
    Homme Profil pro
    Intéréssé de programmation
    Inscrit en
    Octobre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Intéréssé de programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2014
    Messages : 24
    Par défaut code entier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    JButton bouton = new JButton("Contenu suivant");
    //Définition de l'action sur le bouton
    bouton.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent event){
        //Action !
      }
    });
    ce code est le code du cour
    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
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.Action;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
     
     
    public class JavaDoc extends JFrame{
     
     
     
        JButton quitter = new JButton("au revoir ");
        JPanel pan1 = new JPanel();
     
        public JavaDoc(){
            this.setTitle("java doc perso");
           this.setSize(500 , 250);
           this.setVisible(true);
           this.setLocationRelativeTo(null);
     
           this.setBackground(Color.green);
           pan1.setBackground(Color.yellow);
           pan1.add(quitter);
           ecoute();
           this.getContentPane().add(pan1, BorderLayout.NORTH);
           this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        }
     
        public static void main(String[] args) {
            JavaDoc lance = new JavaDoc();
        }
        {
            quitter.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent event){
                System.exit(0);
     
            }
           });
        }
      }
    mon code

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Bon déjà on a trois code différent:

    un code tout seul sans contexte qui ne fait rien à part des commentaires
    un code au sein d'une méthode statique ecoute qui n'est probablement jamais appelée
    et enfin le code complet où, comble de l'horreur même si ça marche, le code est dans une bloc d'instance anonyme

    Le troisième code doit marcher, je le commente que tu comprenne

    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
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.Action;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
     
     
    public class JavaDoc extends JFrame{
     
     
     
        JButton quitter = new JButton("au revoir "); // (1) appelé tout au début du constructeur, implicitement, en (2)
        JPanel pan1 = new JPanel();
     
        public JavaDoc(){ // (2) c'est appelé pendant le new JavaDoc du main
            this.setTitle("java doc perso");
           this.setSize(500 , 250);
           this.setVisible(true);
           this.setLocationRelativeTo(null);
     
           this.setBackground(Color.green);
           pan1.setBackground(Color.yellow);
           pan1.add(quitter);
           this.getContentPane().add(pan1, BorderLayout.NORTH);
           this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        } // (3) fin du constructeur, on saute en (5)
     
        public static void main(String[] args) { // (4) Ca appelle le constructeur (2) au début du programme
            JavaDoc lance = new JavaDoc();
        }
        { // (5) Ce bloc anonyme affreux est exécuté à la fin du constructeur (3) mais aurais pu aussi bien y être mis
            quitter.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent event){
                System.exit(0);
     
            }
           });
        }
      }
    Version plus propre:

    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
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.Action;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
     
     
    public class JavaDoc extends JFrame{
     
     
     
        JButton quitter = new JButton("au revoir "); 
        JPanel pan1 = new JPanel();
     
        public JavaDoc(){ 
            this.setTitle("java doc perso");
           this.setSize(500 , 250);
           this.setLocationRelativeTo(null);
     
           this.setBackground(Color.green);
           pan1.setBackground(Color.yellow);
           pan1.add(quitter);
           this.getContentPane().add(pan1, BorderLayout.NORTH);
           this.setDefaultCloseOperation(EXIT_ON_CLOSE);
     
            quitter.addActionListener(new ActionListener(){
              public void actionPerformed(ActionEvent event){
                System.exit(0);
     
              }
           });
           this.setVisible(true); // on construit tout avant d'afficher!
     
        } 
     
        public static void main(String[] args) {
            JavaDoc lance = new JavaDoc();
        }
      }

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    961
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 961
    Par défaut
    Je rejoins l'avis de Joël : oubliez ce cours très, très vite et lisez plutôt les tutoriels de Developpez.com. Ce code est une telle horreur que je m'étonne que le simple fait de l'écrire n'ait pas ouvert une brêche dans l'espace-temps pour invoquer Cthulhu. Quand à essayer d'apprendre quoi que ce soit en le lisant, à part voir tout ce qu'il ne faut pas faire... On n'a pas idée d'infliger ça à un étudiant; pas étonnant que vous n'y compreniez rien. (En plus pourquoi cette classe s'appelle-t-elle Javadoc alors qu'elle ne contient pas la moindre Javadoc ?)

  7. #7
    Membre actif
    Homme Profil pro
    Intéréssé de programmation
    Inscrit en
    Octobre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Intéréssé de programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2014
    Messages : 24
    Par défaut
    ce n'est pas le cour qui n'apprend rien c'est moi qui est mal compris compris.
    Citation Envoyé par BugFactory Voir le message
    En plus pourquoi cette classe s'appelle-t-elle Javadoc alors qu'elle ne contient pas la moindre Javadoc ?
    elle s'appelle javadoc car je voulais d'abord mettre ce bouton au revoir puis mettre tous ce qui conserne javadoc!

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

Discussions similaires

  1. Comment écouter un bouton
    Par Theinfrarougegp dans le forum Débuter
    Réponses: 4
    Dernier message: 15/01/2015, 12h03
  2. [Bouton] Comment déplacer un bouton en fonction du scrolling
    Par Kylen dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/08/2005, 12h25
  3. [Scripts] Comment avoir les boutons style XP
    Par Didier69 dans le forum Général Dotnet
    Réponses: 26
    Dernier message: 18/05/2005, 15h28
  4. Réponses: 8
    Dernier message: 04/03/2005, 14h59
  5. Réponses: 5
    Dernier message: 29/10/2004, 16h20

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