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 :

[NetBeans] Ecouter un bouton


Sujet :

AWT/Swing Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 32
    Points : 18
    Points
    18
    Par défaut [NetBeans] Ecouter un bouton
    Bonjour,

    Je suis sur le point de finaliser un logiciel que j'ai créé.

    J'ai seulement un petit problème, je n'arrive pas à écouter un bouton. En gros, j'ai deux boutons. Si j'appuie sur l'un, je veux lancer une procédure, si je clique sur l'autre, une autre procédure.

    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    package editeurdeplateau;
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.event.ActionListener;
    import javax.swing.BorderFactory;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.JTable;
     
    /**
     *
     * @author FélixDegrave
     */
    public class fenetrehorsouchampionnat extends JFrame {
     
       static JButton championnat;
        static JButton hchampionnat;
     
        public fenetrehorsouchampionnat() {
     
            //Creation de la fenetre
            JFrame fenetre = new JFrame();
            fenetre.setTitle("Bienvenue à l'éditeur de plateau de boxe");
            fenetre.setSize(700, 150);
            fenetre.setLayout(null);
     
            //Creation de la barre des menus
            JMenuBar menu_bar1 = new JMenuBar();
     
            // Creation des differents menus
            JMenu menu1 = new JMenu("Menu");
     
            // Differents Choix dans Chaque menu
            JMenuItem demarrer = new JMenuItem("Modifier le chemin des bloxeurs");
            JMenuItem ouvrir = new JMenuItem("Modifier le chemin des clubs");
            JMenuItem fin = new JMenuItem("Quitter");
     
            // Ajout de choix au menu
            menu1.add(demarrer);
            menu1.add(ouvrir);
            menu1.add(fin);
     
            //Ajout des menus sur la barre
            menu_bar1.add(menu1);
     
            //Ajout du menu sur la frame
            fenetre.setJMenuBar(menu_bar1);
     
     
            //Creation et Ajout d'un label
            fenetre.setLayout(new BorderLayout());
     
            JLabel label = new JLabel("Voulez vous créer un plateau hors championnat ou en championnat?");
     
            fenetre.getContentPane().add(label, BorderLayout.NORTH);
     
            //Creation des panels
            JPanel pbutton = new JPanel();
     
            pbutton.setLayout(null);
            pbutton.setBounds(0, 50, 400, 50);
            pbutton.setBorder(BorderFactory.createLineBorder(Color.RED, 1));
            fenetre.add(pbutton, BorderLayout.CENTER);
            //Creation des buttons
     
            championnat = new JButton("Championnat");
            championnat.setBounds(0, 3, 300, 50);
            pbutton.add(championnat);
     
            hchampionnat = new JButton("Hors championnat");
            hchampionnat.setBounds(400, 3, 300, 50);
            pbutton.add(hchampionnat);
     
            //ajout  des images sur les boutons
     
            // Creation des JTable
            JTable Tlecture = new JTable();
     
            //Visibilité de la fenetre
            fenetre.setVisible(true);
     
            ActionListener a = null;
            championnat.addActionListener(a);
     
            ActionListener b = null;
            hchampionnat.addActionListener(b);
     
            if (a.equals(null)) {
               System.out.println("clic championnat");
            } else {
                System.out.println("clic hchampionnat");
            }
        }
    Quelqu'un saurait-il m'expliquer comment faire ?

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Points : 1 937
    Points
    1 937
    Par défaut
    Bonjour,

    Vu que tes action listener sont null, ça ne peut pas marcher effectivement.
    Remplace:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActionListener a = null;
    Avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ActionListener a = new ActionListener() {
    public void actionPerformed(ActionEvent event) {
    // Ta procedure pour l'action a ici.
    }};
    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    Alors en fait j'avais déjà essayé quelque chose de ce style mais je n'avais pas réussi a conclure dirons nous.

    Déjà j'ai mis cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ActionListener a = null;
            championnat.addActionListener(a);
     
    car lorsque je mets cela : 
    ActionListener a;
            championnat.addActionListener(a);
    Netbeans me dit que a n'a pas été initialisé. Don cela ne fonctionne pas.

    Ensuite, j'avais également écrit ce code pour voir si cela fonctionnait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public static void actionperformed(ActionListener e) {
           if (e.getSource() == championnat) {
                System.out.println("clic championnat");
           }
           if (e.getSource() == hchampionnat) {
             System.out.println("clic hchampionnat");
           }
    Mais voila, je n'ai jamais réussi à le faire fonctionner.
    Dois je écrire dans le main ? si oui, une fois le fenêtre créée comment reconnaître le bon évènement?

    Merci...

  4. #4
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Points : 1 937
    Points
    1 937
    Par défaut
    Je pense que le premier point est de comprendre ce que tu fais et de ce que je lis ce n'est pas vraiment le cas.

    Il y a plein de tuto pour apprendre le java sur ce site et avant de se lancer plus avant dans une GUI swing je pense que maîtriser un peu les bases ne serait pas du luxe.

    Le code de remplacement que j'ai donné dans ma première réponse pour l'initialisation du listener fonctionne.

    Dernière information, java est un langage objet, ce n'est pas un langage de script et donc pour quelqu'un n'ayant pas de notion de programmation objet et qui veut s'amuser avec une interface graphique rapide à faire, ce n'est pas forcément le bon langage.

    Ah j'en oubliais une, j'ai vu le mot NetBeans .. cet IDE possède un éditeur graphique pour faire rapidement des interfaces graphiques .. ça permettrait déjà d'obtenir quelque chose mais sans connaître le langage ça n'ira pas bien loin.

    Pour info, il suffit dans le projet de faire un New -> JFrame form et l'éditeur graphique est automatiquement disponible.

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    alors je comprends ce que je fais sinon je n'aurai pas réussi à réaliser le logiciel que je voulais faire.
    Après j'ai suivie pas mal de cours mais forcément je ne peux pas tout savoir n'était pas expert dans la matière.

    Je n'ai jamais dit que ton code ne fonctionnait pas, mais je n'arrive pas l'utiliser.
    Comment dois je appeler la méthode actionPerformed(ActionEvent event) dans mon code par exemple!

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    Bon j'ai enfin réussi à utiliser ton code, bien que j'avoue ne pas tout saisir!
    Mais merci à toi,

    J'ai encore deux petit problèmes. Si jamais tu sais comment faire.
    Peux tu me donner la commande pour fermer une fenêtre Jframe.
    (j'aimerais que lorsqu'on clic sur un bouton, cela exécute un programme, ferme la fenêtre puis à la fin arrête l'exécution du programme.

    Mon second problème est le suivant.
    Enfin fait, avec le logiciel je modifie, crée... des pages excel.
    Le problème est sur le chemin!
    J'aimerais créer un bouton pour changer le chemin.
    Donc je change le chemin une fois et enregistre ce nouveau chemin dans une variable.

    Est ce qu'il est possible, de mémoriser ce chemin de façon définitive pour que la fois d'après la procédure utilise directement ce nouveau chemin sans le redemander.

    Merci à toi

  7. #7
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Points : 1 937
    Points
    1 937
    Par défaut
    Pour fermer la fenêtre il s'agit de la commande JFrame.dispose().
    Pour info les classes de l'API Java ont toute une documentation appelée javadoc qui simplifie bien les choses quand on a ce genre de question: http://docs.oracle.com/javase/7/docs/api/


    Pour se rappeler du chemin ou le fichier a été stocké, il n'existe rien en standard, il va te falloir coder ça toi même, soit en passant par un fichier de propriétés de ton application ou autre.

    Bonne chance,

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/06/2009, 15h34
  2. créer des boutons inactifs (grisés) sous netbeans
    Par melle_marwa dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 20/04/2009, 22h25
  3. Réponses: 1
    Dernier message: 21/09/2007, 15h15
  4. [debutant]gérer un bouton jsp avec Netbeans 5.5
    Par soussoubf dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 11/07/2007, 10h28
  5. [Débutant][Netbeans 4.1]Groupe de boutons RADIO
    Par Terminator dans le forum NetBeans
    Réponses: 1
    Dernier message: 12/09/2005, 16h22

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