changer la valeur d'un jbutton quand je clic dessus

changer la valeur d'un jbutton quand je clic dessus - Java - Programmation

Marsh Posté le 06-04-2006 à 15:41:25    

Salut a tous, j'aimerai savoir pourqoi mon code ne marche pas.  
J'essai d'entrer une valeur dans mon jbutton mais il ne se passe rien quand je clic dessus
 
 
    public void mousePressed(MouseEvent e)
    {
        String val_texte = null;
        float val = 0;
        while( val<=0 || val>9 )
        {val_texte = javax.swing.JOptionPane.showInputDialog( "Valeur : ", "Valeur" );
         if( val_texte != "" && val_texte!="Valeur" ) val = Float.parseFloat( val_texte );
        }
     JButton choix = ( JButton ) e.getSource();
        choix.setBackground( Color.white);
     if( val != 0 )
            { choix.setText( val_texte );
              choix.setFont( new Font("LucidaBrightDemiBold",Font.ITALIC,60) );
              choix.setForeground( Color.black );
            }
    };
 
javax.swing.JOptionPane.showInputDialog( "Valeur : ", "Valeur" );
devrais m'afficher une boite de dialogue permettant d'entrer un chiffre, mais rien ne se passe, kelkun aurait il une idée???
 
Merci par avance


Message édité par jnauche le 06-04-2006 à 15:43:04
Reply

Marsh Posté le 06-04-2006 à 15:41:25   

Reply

Marsh Posté le 06-04-2006 à 15:46:15    

Code :
  1. public class MaFrame extends JFrame {
  2.     ....
  3.     public void initFrame() {
  4.         monBouton = new JButton("PasDeClick" );
  5.         monButton.addActionListener(new ClickButtonEvent());
  6.     }
  7. ....
  8. }
  9. public class ClickButonEvent implements ActionListener {
  10.     int cpt = 0;
  11.     public void actionPerformed(ActionEvent e) {
  12.           JButton btn = (JButton)(e.getSource());
  13.           btn.setText("Click "+(cpt++)+" fois" );
  14.     }
  15. }


Reply

Marsh Posté le 06-04-2006 à 16:15:09    


Merci pour la rapidite de reponse mais j'avoue que je debute un peu. Je suis convaincu que c exactement ce qu'il faut faire mais je n'arrive pas a l'implanter a mon code. Voila un peu plus de detail sur celui-ci :
 
 
public class monprog extends JFrame implements MouseListener
{
.
.
static JButton  cases[][] = new JButton[10][10];
.
.
public  static void initialisation()
  {
.
.
cases[ ligne ][ col ] = new JButton();
cases[ ligne ][ col ].addActionListener(new ClickButtonEvent());  
.
.
  }
.
.
public void mouseExited(MouseEvent e){};
 
    public class ClickButonEvent {  
         
    int cpt = 0;      
    public void actionPerformed(ActionEvent e)
    {          
        JButton btn = (JButton)(e.getSource());
        btn.setText("Click "+(cpt++)+" fois" );    }
}
}
 
 
J'ai testé comme ca mais il gueule au niveau du :
cases[ ligne ][ col ].addActionListener(new ClickButtonEvent());  
il me dit qu'il ne trouve pas ClickButtonEvent....
 
 
Une idée?? Merci beaucoup

Reply

Marsh Posté le 06-04-2006 à 16:19:11    

Bien sûr, ta classe monprog et ta classe ClickButonEvent se trouve dans deux fichiers différents. Sinon, i lfaut faire une classe interne mais moi perso j'aime pas trop le principe...
 

Code :
  1. /*
  2. * Dans fichier MonProg.java
  3. */
  4. public class MonProg extends JFrame
  5. {
  6.     protected JButton cases[][] = new JButton[10][10];
  7.    
  8.     public MonProg() {
  9.         initialisation();
  10.     }
  11.     public void initialisation() {
  12.         for(int i = 0 ; i < cases.length ; i++) {
  13.             for(int j = 0 ; j < cases[i].length ; j++) {
  14.                 cases[ i][ j] = new JButton();
  15.                 cases[ i][ j].addActionListener(new ClickButtonEvent()); 
  16.             }
  17.         }
  18.     }
  19. }
  20. /*
  21. * Dans fichier ClickButtonEvent.java
  22. */
  23. public class ClickButtonEvent implements java.awt.event.ActionListener { 
  24.        
  25.     private int cpt = 0;
  26.     public void actionPerformed(ActionEvent e) {         
  27.         JButton btn = (JButton)(e.getSource());
  28.         btn.setText("Click "+(cpt++)+" fois" );
  29.     }
  30. }


 
EDIT : peut-être une erreur d'orthographe... Essaie de nouveau.


Message édité par brasseld le 07-04-2006 à 08:43:30
Reply

Marsh Posté le 06-04-2006 à 16:37:47    

Escuse moi j'ai jouer u npetit peu le boulet, je l'avais bien mis dnas un autre fichier au départ mais j'avias mis deux T a button dans mon nom de fichier.java, j'avais pas vu!!
Bon sinon j'avias fait exactement comme tu m'as dis mais maintenant toujours a la meme ligne, il me dit :
 
 
addActionListener(java.awt.event.ActionListener) in javax.swing.AbstractButton cannot be applied to (ClickButtonEvent)
 
Je ne pige pas pourkoi...  
 
Désolé, j'imagine que je dois paraitre tres mauvais, mais la je bug totalement sur ce probleme.
Merci.

Reply

Marsh Posté le 06-04-2006 à 16:42:07    

Vas lire ce petit tuto...avec ça tu deviendras un champion du JButton  ;)
http://java.sun.com/docs/books/tut [...] utton.html


Message édité par brasseld le 06-04-2006 à 16:42:54
Reply

Marsh Posté le 06-04-2006 à 17:06:30    

apparement je n'ai pas le droit d'appliquer ClickButtonEvent pour un actionlistener...
Mais malgré ton tuto, je me perds, toujours pas trouvé :(
Ca doit pas etre grand chose pourtant...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed