évènement boutton (clique)

évènement boutton (clique) - Java - Programmation

Marsh Posté le 26-03-2003 à 05:12:23    

j'ai fais le code ci-desous, je fais du java depuis un bon moment, mais j'avais jamais toujours au gui, en fais c'est jamais moi qui devais effecuter cette partie.. maintenant je voudrais bien apprendre...
 

Code :
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. public class securite extends JFrame implements ActionListener
  5. {
  6.   public securite()
  7.   {
  8.     String title = "Securite";
  9.     JFrame fenetre = new JFrame(title);
  10.     JButton button = new JButton("test" );
  11.     fenetre.add(button);
  12.     button.addActionListener(new ActionListener()  {
  13.       public void actionPerformed(ActionEvent e) {
  14.           button.setText("okeefe" );
  15.       }
  16.     });
  17.   }
  18.   public static void main(String args[])
  19.   {
  20.     securite secur = new securite();
  21.     secur.setSize(400,300);
  22.     secur.setLocation(300,300);
  23.     secur.show();
  24.   }
  25. }


 
ca ne compile pas et j'aimerais bien comprendre
merci

Reply

Marsh Posté le 26-03-2003 à 05:12:23   

Reply

Marsh Posté le 26-03-2003 à 07:38:44    

c'est simple, tu dis que ta classe implement ActionListener, elle doit donc redefinir toutes les methodes de l'interface, ou alors etre declaree comme un classe abstraite. On peut certes contourner la methode et employer ce qu'on appelle un Adapter, mais dans ce cas ta classe ne doit pas implementer ActionListener. Neanmoins, vu que tu debutes, passe par les implementations des interfaces plutot que par les Adapter
 
Ensuite, tu devrais revoir un peu ton JAVA, tu n'as pas du bien assimile les concepts de classes et compagnie.  
 
Enfin, ca ne compilera pas meme avec l'implementation des methodes d'ActionListener, parce que:
   - tu utilises button dans ton public void actionPerformed(.....) alors que button n'existe pas la ou tu le definis, pour cela il faudrait que ce soit un membre de ta classe, ce qui n'est pas le cas.
   - tu crees un ActionListener (new ActionListener()) et il vaut mieux que tu utilises le tutorial de SUN pour bien tout comprendre, parce qu'il y aurait trop de trucs a expliquer la...
 
bonne chance
 
PS: un conseil, mets un Majuscule au debut du nom de tes classes, c'est plus propre et conforme aux recommandations de SUN
 

Reply

Marsh Posté le 26-03-2003 à 09:21:55    

Reply

Sujets relatifs:

Leave a Replay

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