J'ai un écho dans mon JTextArea

JonBes Messages postés 8 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 14 avril 2008 - 19 déc. 2007 à 17:33
JonBes Messages postés 8 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 14 avril 2008 - 27 déc. 2007 à 12:59
Bonjour, mon code java est utilisé pour faire un semblant de Clavier numérique, j'ai mis un écouteur sur un bouton b0 pour qu'il m'affiche  0 dans un TextArea et il me l'affiche en double dedans "00"
Dans la classe pad j'ai mis:
public pad()
    {
        JFrame fenetre=new JFrame("cont Numérique");
        setSize(800,600);
        setDefaultCloseOperation(fenetre.EXIT_ON_CLOSE);
       
        Container cont=getContentPane();
        cont.setLayout(null);

        ecran=new JTextArea("");
        ecran.setBounds(20,20,190,30);
        cont.add(ecran);
       
        b0=new JButton("0");
        b0.setBounds(90,440,50,50);
        cont.add(b0);
        b0.addActionListener(new CliqueB0(this,b0));
    }
   
      Et dans la classe CliqueB0:

public class CliqueB0 extends JFrame implements ActionListener

{
    pad c;
    JTextArea ecran;
   

    public CliqueB0(pad ce,JButton j)
    {
        j.addActionListener(this);
        c=ce;
    }
    public void actionPerformed(ActionEvent e)
        {
        JTextField ecrit=new JTextField("0");
        c.ecran.append(ecrit.getText());
    }
}

Pourriez-vous m'explquez d'où vient cet étrange échooooo?

7 réponses

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
19 déc. 2007 à 18:35
Il faut utilise un mouse listener (mouse clic).
Dans ton cas ton action event doit ce déclancher 2 fois (1 quand tu presses la souris sur le bouton et un quand tu relaches la souris)
++
0
JonBes Messages postés 8 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 14 avril 2008
19 déc. 2007 à 18:40
Ok je vais essayé je te remerci d'avoir répondu  et te tiens au courant si je n'arrive pas a changé mon ActionListener en MouseListener
0
JonBes Messages postés 8 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 14 avril 2008
19 déc. 2007 à 19:11
Rebonjour,
J'ai essayé de changer voici les changements
dans pad.java:
b0.addMouseListener(new CliqueB0(this,b0));
au lieu de :
b0.addActionListener(new CliqueB0(this,b0));

et dans CliqueB0.java:
public class CliqueB0 extends JFrame implements MouseListener

{
    pad c;
    JTextArea ecran;
   

    public CliqueB0(pad ce,JButton j)
    {
        j.addMouseListener(this);
        c=ce;
    }
    public void MouseClicked(MouseEvent e)
        {
        JTextField ecrit=new JTextField("0");
        c.ecran.append(ecrit.getText());
    }
}
au lieu de
public class CliqueB0 extends JFrame implements ActionListener

{
    pad c;
    JTextArea ecran;
   

    public CliqueB0(pad ce,JButton j)
    {
        j.addActionListener(this);
        c=ce;
    }
    public void actionPerformed(ActionEvent e)
        {
        JTextField ecrit=new JTextField("0");
        c.ecran.append(ecrit.getText());
    }
}

Et il m'affiche une erreur que je comprend pas lol mon niveau en anglais et prog est bas désolé

CliqueB0.java:8: CliqueB0 is not abstract and does not override abstract method mouseExited(java.awt.event.MouseEvent) in java.awt.event.MouseListener
public class CliqueB0 extends JFrame implements MouseListener
0
Utilisateur anonyme
19 déc. 2007 à 23:10
Tu n'implémentes pas toutes les méthodes de l'interface MouseListener. Pour corriger ça, soit tu implémentes toutes les méthodes de MouseListener, soit tu remplaces MouseListener par MouseAdapter.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JonBes Messages postés 8 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 14 avril 2008
27 déc. 2007 à 12:34
Voilà j'ai retouché un peu au code pour coller au mieux aux explication doné mais j'ai toujours cette erreur
Voici le code dans CliqueB0.java:
import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.util.*;

public class CliqueB0 extends JButton implements MouseListener

{
    public pad c;
    public JTextArea ecran;
   

    public CliqueB0(pad ce,JButton j) throws IOException
    {
        j.addMouseListener(this);
        c=ce;
    }
    public void MouseClicked(MouseEvent e)
        {
        JTextField ecrit=new JTextField("0");
        c.ecran.append(ecrit.getText());
    }
    public void mouseEntered(MouseEvent e)
    {}
     public void mouseExited(MouseEvent e)
    {}
    public void mousePressed(MouseEvent e)
    {}
    public void mouseReleased(MouseEvent e)
    {}
}
0
JonBes Messages postés 8 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 14 avril 2008
27 déc. 2007 à 12:34
et voici l'erreur que me retourne la console:

CliqueB0.java:7: CliqueB0 is not abstract and does not override abstract method mouseClicked(java.awt.event.MouseEvent) in java.awt.event.MouseListener
public class CliqueB0 extends JButton implements MouseListener
0
JonBes Messages postés 8 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 14 avril 2008
27 déc. 2007 à 12:59
bon bas voilà une autre correction de mon code:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;

public class CliqueB0 extends JFrame implements MouseListener

{
    public pad c;
    public JTextArea ecran;
    

    public CliqueB0(pad ce,JButton j)
    {
        j.addMouseListener(this);
        c=ce;
    }
    public void mouseClicked(MouseEvent e)
        {
            JTextField ecrit=new JTextField("0");
            c.ecran.append(ecrit.getText());
    }
    public void mouseEntered(MouseEvent e)
    {}
     public void mouseExited(MouseEvent e)
    {}
    public void mousePressed(MouseEvent e)
    {}
    public void mouseReleased(MouseEvent e)
    {}
}

Ça fonctionne mais j'ai toujours mon écho sur le zero il m'affiche 00 au lieu de 0 je comprend pas où est le bug??
0
Rejoignez-nous