Partage
  • Partager sur Facebook
  • Partager sur Twitter

Mes boutons ne reagissent pas

Sujet résolu
    3 juillet 2008 à 21:06:33

    Bonjour,

    C'est simple, mes boutons ne réagissent pas quand je clique dessus. Apparemment il n'arrive pas à les lier à mon ActionListener.

    Citation : Fenetre.java

    public class Fenetre extends JFrame {
        
            public static void main(String[] args) {
            // TODO code application logic here
                //instantiation de l'objet
                Fenetre fen = new Fenetre();
        }
            //créaton du container principal
            JPanel container_ROOT = new JPanel();
            //création du container NORTH (la réponse)
            PanneauReponse container_NORTH = new PanneauReponse("");
            //création du container CENTER (les chiffres, le point, le égal)
            JPanel container_CENTER = new JPanel();
            //création du container EAST (annulé,plus,moins,fois,diviser)
            JPanel container_EAST = new JPanel();
            
            //création des boutons :
            private JButton bouton_0 = new JButton("0");
            private JButton bouton_1 = new JButton("1");
            private JButton bouton_2 = new JButton("2");
            private JButton bouton_3 = new JButton("3");
            private JButton bouton_4 = new JButton("4");
            private JButton bouton_5 = new JButton("5");
            private JButton bouton_6 = new JButton("6");
            private JButton bouton_7 = new JButton("7");
            private JButton bouton_8 = new JButton("8");
            private JButton bouton_9 = new JButton("9");
            private JButton bouton_point = new JButton(".");
            private JButton bouton_egal = new JButton("=");
            private JButton bouton_plus = new JButton("+");
            private JButton bouton_moins = new JButton ("-");
            private JButton bouton_fois = new JButton ("*");
            private JButton bouton_diviser = new JButton("/");
            private JButton bouton_annuler = new JButton("C");
            
            //création des variables à utiliser
            private double result;
            private String calcul = "";
            private List Lcalcul = new LinkedList();
            private String[] Tcalcul = null;
            
            
            
            public Fenetre(){
            //Parametrage de la fenetre
            setVisible(true);        
            this.setTitle("Ma Calculatrice");
            this.setSize(350, 400);
            this.setLocationRelativeTo(null);
            this.setResizable(false);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            
            //parametrage du container_ROOT
            container_ROOT.setBackground(Color.gray);
            container_ROOT.setLayout(new BorderLayout());
            container_ROOT.add(container_NORTH, BorderLayout.NORTH);
            container_ROOT.add(container_EAST, BorderLayout.EAST);
            container_ROOT.add(container_CENTER, BorderLayout.CENTER);
            
            //parametrage du container_NORTH
            container_NORTH.setBackground(Color.gray);
            container_NORTH.setSize(330,50);
            
            //parametrage du container_CENTER
            container_CENTER.setBackground(Color.gray);
            container_CENTER.setLayout(new GridLayout(4,3,5,5));
            container_CENTER.add(bouton_1);
            container_CENTER.add(bouton_2);
            container_CENTER.add(bouton_3);
            container_CENTER.add(bouton_4);
            container_CENTER.add(bouton_5);
            container_CENTER.add(bouton_6);
            container_CENTER.add(bouton_7);
            container_CENTER.add(bouton_8);
            container_CENTER.add(bouton_9);
            container_CENTER.add(bouton_point);
            container_CENTER.add(bouton_0);
            container_CENTER.add(bouton_egal);
            container_CENTER.setSize(200, 250);
            
            //parametrage du container_EAST
            container_EAST.setBackground(Color.gray);
            container_EAST.setLayout(new GridLayout(5,1,10,5));
            container_EAST.add(bouton_annuler);
            container_EAST.add(bouton_plus);
            container_EAST.add(bouton_moins);
            container_EAST.add(bouton_diviser);
            container_EAST.add(bouton_fois);
                    
            //on active le tout 
            this.setContentPane(container_ROOT);
            this.setVisible(true);
    
            }
            
            class Container_CENTERListener implements ActionListener{
            //pour chaque bouton on ajoute son chiffre ou le . a la chaine de caractère
            public void actionPerformed(ActionEvent event) {
                
                if(event.getSource() == bouton_0){
                            calcul+="0";
                System.out.println(calcul+"lol");
                container_NORTH._reponse.setText(calcul);
                }
                
                else if(event.getSource() == bouton_1){
                            calcul+="1";
                container_NORTH._reponse.setText(calcul);
                }
                
                else if(event.getSource() == bouton_2){
                            calcul+="2";
                container_NORTH._reponse.setText(calcul);
                }
                else if(event.getSource() == bouton_3){
                            calcul+="3";
                container_NORTH._reponse.setText(calcul);
                }
                else if(event.getSource() == bouton_4){
                            calcul+="4";
                container_NORTH._reponse.setText(calcul);
                }
                else if(event.getSource() == bouton_5){
                            calcul+="5";
                container_NORTH._reponse.setText(calcul);
                }
                else if(event.getSource() == bouton_6){
                            calcul+="6";
                container_NORTH._reponse.setText(calcul);
                }
                else if(event.getSource() == bouton_7){
                            calcul+="7";
                container_NORTH._reponse.setText(calcul);
                }
                else if(event.getSource() == bouton_8){
                            calcul+="8";
                container_NORTH._reponse.setText(calcul);
                }
                else if(event.getSource() == bouton_9){
                            calcul+="9";
                container_NORTH._reponse.setText(calcul);
                }
                else if(event.getSource() == bouton_point){
                            calcul+=".";
                container_NORTH._reponse.setText(calcul);
                }
                else if(event.getSource() == bouton_egal){
                            Tcalcul = calcul.split("");
                
                calcul(Tcalcul);  
            }
                
            }
    
    • Partager sur Facebook
    • Partager sur Twitter
      3 juillet 2008 à 21:14:03

      Il faudrait que tu dise à tes bouton qui les écoutent :

      public Fenetre(){
              //Parametrage de la fenetre
              setVisible(true);        
              this.setTitle("Ma Calculatrice");
              this.setSize(350, 400);
              this.setLocationRelativeTo(null);
              this.setResizable(false);
              this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              
              //parametrage du container_ROOT
              container_ROOT.setBackground(Color.gray);
              container_ROOT.setLayout(new BorderLayout());
              container_ROOT.add(container_NORTH, BorderLayout.NORTH);
              container_ROOT.add(container_EAST, BorderLayout.EAST);
              container_ROOT.add(container_CENTER, BorderLayout.CENTER);
              
              //parametrage du container_NORTH
              container_NORTH.setBackground(Color.gray);
              container_NORTH.setSize(330,50);
              
              Container_CENTERListener listener = new Container_CENTERListener();
      
              //Là tu dis à tes boutons qu'ils sont écouter par ton implémentation
              //*******************************************************************
              bouton_1.addActionListener(listener);
              bouton_2.addActionListener(listener);
              //...
      
              //parametrage du container_CENTER
              container_CENTER.setBackground(Color.gray);
              container_CENTER.setLayout(new GridLayout(4,3,5,5));
              container_CENTER.add(bouton_1);
              container_CENTER.add(bouton_2);
              container_CENTER.add(bouton_3);
              container_CENTER.add(bouton_4);
              container_CENTER.add(bouton_5);
              container_CENTER.add(bouton_6);
              container_CENTER.add(bouton_7);
              container_CENTER.add(bouton_8);
              container_CENTER.add(bouton_9);
              container_CENTER.add(bouton_point);
              container_CENTER.add(bouton_0);
              container_CENTER.add(bouton_egal);
              container_CENTER.setSize(200, 250);
              
              //parametrage du container_EAST
              container_EAST.setBackground(Color.gray);
              container_EAST.setLayout(new GridLayout(5,1,10,5));
              container_EAST.add(bouton_annuler);
              container_EAST.add(bouton_plus);
              container_EAST.add(bouton_moins);
              container_EAST.add(bouton_diviser);
              container_EAST.add(bouton_fois);
                      
              //on active le tout 
              this.setContentPane(container_ROOT);
              this.setVisible(true);
      
              }
      
      • Partager sur Facebook
      • Partager sur Twitter
        3 juillet 2008 à 21:28:32

        Encore un oublie de ma part ^^ Merci
        Tout est bon
        • Partager sur Facebook
        • Partager sur Twitter

        Mes boutons ne reagissent pas

        × 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