Problem au niveau de la class

Résolu/Fermé
DevGl Messages postés 136 Date d'inscription samedi 23 novembre 2013 Statut Membre Dernière intervention 16 mai 2015 - Modifié par KX le 6/12/2014 à 20:17
DevGl Messages postés 136 Date d'inscription samedi 23 novembre 2013 Statut Membre Dernière intervention 16 mai 2015 - 6 déc. 2014 à 21:26
Bonjour,
je suis entrain de faire ce petit programme , comme j'ai déjà vu sur internet , mais ce programme ne veut pas s'éxecuter , j'ai une erreur qui dit que la class que j'ai nommé TESTING n'est pas abstract et elle doit etre abstract , alors que j'ai trouvé ce programme sur internet , et plusieurs personnes ont l'avait déja essayé ! ! ! alors aidezz moii
voila
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
            public class TESTING  extends JFrame implements ActionListener {
             JTextField champTexte;
             JTextArea zoneTexte;
               public TESTING (String title){
                   super(title);
                   Container c = this.getContentPane();
                   champTexte = new JTextField(20);
                   zoneTexte = new JTextArea(5,20);
                   zoneTexte.setEditable(false);
                   c.add(champTexte,"North");
                   c.add(zoneTexte,"South");
                   champTexte.addActionListener(this);
                   this.pack();
                this.setVisible(true);
               }
               public void ActionPerformed(ActionEvent e){
                  JTextField t = (JTextField)(e.getSource());
                  zoneTexte.append(t.getText()+"\n");
                  champTexte.setText("");

               }
               public static void main(String args []){
                 TESTING T =  new TESTING ("teste");
                T.pack();
                       T.setVisible(true) ;
               }
             }

j'attend votre reponse et merci d'avance !

2 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
Modifié par KX le 6/12/2014 à 20:26
Bonjour,

Si tu connaissais les conventions de nommage en Java tu n'aurais pas le problème.

En l'occurrence tu implémentes l'interface ActionListener qui définit une méthode actionPerformed, qui a comme toutes les méthodes un nom qui commence par une minuscule. Or toi tu as écrit ActionPerformed avec un A majuscule comme si c'était une classe (classe que tu écris tout en majuscule TESTING alors que c'est une écriture réservée aux constantes...)

Bref, renommes ton ActionPerformed en actionPerformed et ça corrigera l'erreur.

Pour éviter ce genre d'erreur à l'avenir je t'invites à utiliser l'annotation @Override sur les méthodes que tu implémentes ou que tu redéfinis d'une super classe. Comme ça le compilateur t'indiquera tout de suite que l'erreur pointe sur la méthode qui est mal écrite et non pas sur la classe à qui il manque une méthode.
La confiance n'exclut pas le contrôle
1
DevGl Messages postés 136 Date d'inscription samedi 23 novembre 2013 Statut Membre Dernière intervention 16 mai 2015
Modifié par DevGl le 6/12/2014 à 20:43
Merci pour votre réponse déjà KX , j'ai corrigé l'erreur , maintenant y'a pas d'erreur , mais en meme temps ya pas de resultat !! ? j'ai pas eu l resultat de ce programme !! quand je tape java TESTING , il me donne rieen comme resultat !!
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
6 déc. 2014 à 20:50
Vu que tu as utilisé un ActionListener sur un JTextField, ton actionPerformed se lancera lorsque tu appuies sur Entrée dans le champs texte.
0
DevGl Messages postés 136 Date d'inscription samedi 23 novembre 2013 Statut Membre Dernière intervention 16 mai 2015
6 déc. 2014 à 20:52
c'est à dire?
0
DevGl Messages postés 136 Date d'inscription samedi 23 novembre 2013 Statut Membre Dernière intervention 16 mai 2015
6 déc. 2014 à 20:57
mais moi je parle de la fenetre qui va s'afficher déjà !! rien ne s'affiche ! rieen ! ! pas de fentre !!
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
6 déc. 2014 à 20:57
Normalement tu as une fenêtre qui s'est ouverte, en haut à gauche de ton écran.


Si tu tapes du texte dans la première ligne (le JTextField) il faut appuyer sur Entrée pour déclencher l'actionPerformed qui va mettre le texte dans la case du bas (le JTextArea).

Attention : en l'état ton programme ne s'arrête pas lorsque tu fermes la fenêtre, pour cela il faudrait rajouter ceci dans ton main :

T.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
0
DevGl Messages postés 136 Date d'inscription samedi 23 novembre 2013 Statut Membre Dernière intervention 16 mai 2015
6 déc. 2014 à 21:14
Aah , bon , mais pour moi rien ne s'affiche , je ne sais pas pourquoi , et normalement il doit s'afficher comme ca
0