Partage
  • Partager sur Facebook
  • Partager sur Twitter

Désactiver un bouton

    13 août 2015 à 13:53:00

    Comment rendre un bouton inactif tant qu'un objet n'est pas selectionner dans une liste en java?

    • Partager sur Facebook
    • Partager sur Twitter
      13 août 2015 à 14:40:33

      myJButton.setEnabled(false) permet de rendre un bouton inactif. Dès que ton objet est sélectionné dans ta liste, tu peux le rendre actif en faisant l'inverse : myJButton.setEnabled(true)
      • Partager sur Facebook
      • Partager sur Twitter
        13 août 2015 à 16:06:01

        alors comment savoir si un objet est selectionné dans ma list? je crois ce doit être la question
        • Partager sur Facebook
        • Partager sur Twitter
          14 août 2015 à 10:26:27

          Svp aidez un débutant
          • Partager sur Facebook
          • Partager sur Twitter
            14 août 2015 à 16:25:07

            Bonjour,

            Je te conseille de regarder du côté de la classe ListSelectionListener. Si tu connais la gestion des événements en Java, ça ne devrait pas trop te poser de problèmes.

            Sinon, pour t'expliquer rapidement: tu ajoutes un écouteur de type ListSelectionListener sur ta liste. Au moment d'une sélection sur ta liste, la méthode valueChanged() est appelée. C'est dans cette méthode que tu peux récupérer la valeur de ta liste qui a été sélectionnée et faire l'action de ton choix (comme rendre un bouton inactif).

            Un exemple rapide de code possible:

            public class ListEcouteur implements ListSelectionListener{
               private JButton buttonADesactive
            
               public ListEcouteur(Jbutton b){
                  this.buttonADesactive = b;
               }
            
               public void valueChanged(ListSelectionEvent e){
                  buttonADesactive.setEnabled(false);
            
                  // Récupération de l'item sélectionnée:
                  Object o = e.getSource();
               }
            
            }
            public class maFenetre extends JFrame{
               public maFenetre(){
                  JButton bouton = new JButton();      
                  JList liste = new JList();
                  liste.addListSelectionListener(new ListEcouteur(bouton));
               }
            }




            • Partager sur Facebook
            • Partager sur Twitter
            A toi de jouer !
              17 août 2015 à 13:30:51

              Ici je parle de l'objet List de java.awt.List.. merci de m'aider twinklemad. mais cela ne marche que pour les JList
              • Partager sur Facebook
              • Partager sur Twitter
                17 août 2015 à 13:38:39

                Salut. Franchement c'est pas très clair. Il existe la fonction getSelectedItem(s) qui permet de récupérer le(s) les choix!
                • Partager sur Facebook
                • Partager sur Twitter
                  17 août 2015 à 14:24:48

                  je ne te comprends pas non plus.imagine qu'il ya une liste dans laquelle on sélectionne un nom avant de cliquer sur le bouton "signaler comme présent"; il faut que le nom soit sélectionné avant que le bouton ne soit actif . tu vois un peu kulturman
                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 août 2015 à 14:41:18

                    Je crois comprendre

                    Tu veux par exemple que le bouton soit cliquable uniquement si je choisis kulturman dans la liste(juste un exemple au hasard hein :p)

                    Au fait pourquoi tu utilises AWT au lieu de Swing?

                    • Partager sur Facebook
                    • Partager sur Twitter
                      17 août 2015 à 15:33:42

                      un peu ça mais moi  j'utilise awt par ce que c'est une liste dans laquelle je mets des information qui doivent e^tre visualisé toutes e meme temps. un peut comme une liste de classe
                      • Partager sur Facebook
                      • Partager sur Twitter
                        17 août 2015 à 15:47:38

                        C'est AWT que j’utilise sur mon exemple. C'est ça ou à peu près?
                        • Partager sur Facebook
                        • Partager sur Twitter
                          17 août 2015 à 18:24:20

                          voila ce dont moi je veux parler 
                          • Partager sur Facebook
                          • Partager sur Twitter
                            17 août 2015 à 18:33:23

                            Tu veux que le bouton "signaler une sortie" soit désactivé tant que aucun élément de la liste n'est sélectionné?

                            -
                            Edité par kulturman 17 août 2015 à 18:35:48

                            • Partager sur Facebook
                            • Partager sur Twitter
                              17 août 2015 à 18:55:01

                              wep voila tu me suis maintenant
                              • Partager sur Facebook
                              • Partager sur Twitter
                                17 août 2015 à 19:14:57

                                Ok voici le code de l'exemple que je viens de faire. Tu peux t'en inspirer

                                import java.awt.Button;
                                import java.awt.FlowLayout;
                                import java.awt.Frame;
                                import java.awt.List;
                                import java.awt.event.ItemEvent;
                                import java.awt.event.ItemListener;
                                
                                public class Test
                                {
                                
                                    public static void main(String[] args)
                                    {
                                        Frame f = new Frame("Test AWT");
                                        f.setLayout(new FlowLayout());
                                        final Button b = new Button("Validez");
                                        List l = new List();
                                        l.add("kulturman");
                                        l.add("Arsene Lupin");
                                        l.add("Arsene Lupin");
                                        l.add("Arsene Lupin");
                                        l.add("Arsene Lupin");
                                        l.add("Arsene Lupin");
                                        f.add(l);
                                        f.add(b);
                                        f.setSize(300, 300);
                                        f.setVisible(true);
                                        b.setEnabled(false);
                                        l.addItemListener(new ItemListener()
                                        {
                                
                                            @Override
                                            public void itemStateChanged(ItemEvent e)
                                            {
                                               List l = (List)e.getSource();
                                               if(l.getSelectedIndex() != - 1)
                                                   b.setEnabled(true);
                                               else
                                                   b.setEnabled(false);
                                            }
                                        });
                                    }
                                
                                }

                                Est-ce le comportement désiré?

                                -
                                Edité par kulturman 17 août 2015 à 19:18:33

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  27 août 2015 à 11:32:55

                                  J'y arrive toujours pas merc ide m'aider svp?
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    27 août 2015 à 13:15:34

                                    Lorsque ton application est lancée ou plutôt ta fenêtre tu mets ton bouton a setEnabled(false);

                                    et avec le listener de la liste losque qqun clique tu met setEnabled(true);

                                     pour ajouter un listener à ta list tu fais clique droit sur ta liste, events, ListSelection et tu clique sur la valeur

                                      public NewJFrame() {
                                            initComponents();
                                            init();
                                        }
                                    
                                    private void init() {
                                           btnTest.setEnabled(false);
                                        }
                                    
                                     private void lstNomsValueChanged(javax.swing.event.ListSelectionEvent evt) {                                     
                                           btnTest.setEnabled(true);
                                        }   



                                    -
                                    Edité par sari209 27 août 2015 à 13:18:45

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      27 août 2015 à 14:24:16

                                      J'utlise eclipse, est ce possible ce que tu dis ismailsarikaya?.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        27 août 2015 à 15:29:56

                                        Je l'ai fais sur netbeans je vois pas pourquoi tu peux pas le faire sur eclipse
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          27 août 2015 à 16:04:50

                                          Sauf que je ne sais pas de quelle listener tu parle ..je fait list.add??????
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            27 août 2015 à 19:14:46

                                            TBoris a écrit:

                                            Sauf que je ne sais pas de quelle listener tu parle ..je fait list.add??????


                                            Je t'ai donné un code. Si tu n'arrives vraiment pas à le comprendre c'est que tu n'as pas le niveau pour faire ce que tu demandes.
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              27 août 2015 à 19:59:16

                                              kulturman a écrit:

                                              TBoris a écrit:

                                              Sauf que je ne sais pas de quelle listener tu parle ..je fait list.add??????


                                              Je t'ai donné un code. Si tu n'arrives vraiment pas à le comprendre c'est que tu n'as pas le niveau pour faire ce que tu demandes.


                                              TON CODE NE MARCEH PAS JE TE LE SIGNAL .CELA  NE REPONDS PAS A CE QUE JE DIS COMME CONDITION:colere:
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                28 août 2015 à 9:38:19

                                                kulturman a écrit:

                                                Ok voici le code de l'exemple que je viens de faire. Tu peux t'en inspirer

                                                kulturman a écrit:

                                                Tu peux t'en inspirer


                                                On va pas te donner ton application non plus ça serait trop facile...

                                                Bien essayons quelque chose au pas a pas... Imaginons tu possède la liste de personnel dans la variable "listePersonnel". Tu l'affiche dans ta JFrame bien comme il faut, tu peux défiler parmi les entrées de ta liste etc etc ... Tu as un bouton "valider" qui n'est pas cliquable a la base :

                                                final JButton b = new JButton("Valider);
                                                b.setEnabled(false);

                                                Maintenant, tu vas écouter ta liste pour voir si a un moment il y a du changement, du genre une sélection dans ta JFrame :

                                                 listePersonnel.addItemListener(new ItemListener()
                                                        {
                                                            @Override
                                                            public void itemStateChanged(ItemEvent e)
                                                            {
                                                               List l = (List)e.getSource();
                                                               if(l.getSelectedIndex() != - 1)
                                                                   b.setEnabled(true);
                                                               else
                                                                   b.setEnabled(false);
                                                            }
                                                        });


                                                Et le résultat obtenu devrait être ce que tu voulais.
                                                Tu pouvais aussi très bien regarder sur internet les différents Listener qui existe pour les listes, ou nous demander gentiment des précisions

                                                -
                                                Edité par BabC 28 août 2015 à 9:41:33

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  28 août 2015 à 10:08:25

                                                  @BabC: c'est presque le même code qu'on lui a donné. S'il dit que ça ne fait pas ce qu'il veut alors c'est moi qui ne comprends pas ce qu'il veut.
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    28 août 2015 à 10:15:13

                                                    @kulturman : Oui c'est voulut ! Histoire de comprendre qu'on ne donne pas les solutions direct, mais les aides aux principes et concepts...
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter

                                                    Désactiver un bouton

                                                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                    • Editeur
                                                    • Markdown