IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Applets Java Discussion :

Applet / Mouse Listener


Sujet :

Applets Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 20
    Points : 18
    Points
    18
    Par défaut Applet / Mouse Listener
    Bonjour,

    J'ai besoin de votre aide, débutante en java du coup je bloque très souvent
    Mon code consiste à générer un entier aléatoirement puis si on clique sur la souris faut le comparer à la valeur saisie par l'utilisateur puis afficher certains messages selon le résultat. et enfin compter le nombre d'essai et l'afficher.
    Mon code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    import java.awt.*;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.applet.*;
    import java.util.Random;
     
    public class Demo extends Applet implements  MouseListener {
    	java.util.Random r=new java.util.Random( ) ;
    	int n=0;
     
    	int count=0; 
    	int nb_essais=0;
    	int secret=r.nextInt(101);
    	TextField Ch1=new TextField(30);
    	Label lab1=new Label("Nombre");
    	TextField Ch2=new TextField(30);
    	Label lab2=new Label("Nombre d'essais");
    	TextField Ch3=new TextField(30);
    	Label lab3=new Label("Commentaire");
    	Label lab4=new Label("Cliquez sur la souris pour verifier");
     
     
    	String s="";
    	String cs2="";
    	int xs=Ch3.getX()+5;
    	int ys=Ch3.getY()+5;
    	int xc=Ch2.getX()+5;
    	int yc=Ch2.getY()+5; 
     
    	public void init(){
    		FlowLayout fl=new FlowLayout();
    	    setLayout(fl);
    		add(lab1);
    		add(Ch1);
    		add(lab2);
    		add(Ch2);
    		add(lab3);
    		add(Ch3);
    		add(lab4);
    		addMouseListener(this);
    		}
     
    	public void mouseEntered(MouseEvent e) {}
    	public void mouseExited(MouseEvent e)  {}
    	public void mousePressed(MouseEvent e) {}
    	public void mouseReleased(MouseEvent e){}
    	public void mouseClicked(MouseEvent e) {
     
     
     
     
    		if(Ch1.getText().equals("n")){
     
    			if(n==secret){
     
    				s="BRAVO";
     
    			}
    			else if(n<secret){
    				s="trop petit";
     
    			}
    			else if(n>secret){
    				s="trop grand";
     
    			}
    			count=count+1; 
    		    nb_essais=count;
     
    			}
    			String cs=Integer.toString(nb_essais);
     
    			cs2=cs;	
    			Ch2.setText(cs2);
     
    			repaint();
     
     
    		}
     
     
     
     
    	public void paint(Graphics g){
    		g.drawString(s, xs, ys);
          	g.drawString(cs2, xc, yc); 
     
     
    	}
     
     
     
    }
    Seulement après exécution lorsque je saisis un nombre et je clique sur la souris je n'ai pas le traitement d’événement voulu..
    Merci de bien vouloir m'aider

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Dans cette ligne de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ch1.getText().equals("n")
    tu testes si le contenu du champs est la chaîne n. Or, je suppose que ce champ est le champ ou l'utilisateur doit saisir le nombre à deviner, donc ça ne peut pas être "n", mais un nombre. Donc, à l'exécution, on n'entre jamais dans ce if.
    Il faut que tu lises le contenu du champ et que tu le convertisses en int, pour pouvoir le comparer à secret :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    try {
     
        n=Integer.parseInt(Ch1.getText());
     
        // ici tester si n==secret, ou n>secret ou...
     
    }catch(NumberFormatException e) {
     
        // ici faire le code lorsque la valeur saisie n'est pas un nombre, comme afficher un message "Vous devez saisir un nombre !"
     
    }

    Je te laisse découvrir les autres problèmes et revenir poser des questions le cas échéant... mais déjà je peux te dire que tes drawString sont inutiles (les Label que tu as créés sont suffisant pour que les textes s'affichent : inutile de redessiner les chaînes à la main).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    Voilà donc le nouveau code et ça marche merci beaucoup ! j'ai compris mon erreur je ne savais pas que dans mon ancien code la chaîne "n" restait telle qu'elle est je croyais que c'est suffisant comme si on convertissait l'entier n en chaîne puis on compare
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     
    import java.awt.*;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.applet.*;
    import java.util.Random;
     
    public class Demo extends Applet implements  MouseListener{
    	java.util.Random r=new java.util.Random( ) ;
    	int n=0;
    	int nb_essais=0;
    	int secret=r.nextInt(101);
    	TextField Ch1=new TextField(30);
    	Label lab1=new Label("Nombre");
    	TextField Ch2=new TextField(30);
    	Label lab2=new Label("Nombre d'essais");
    	TextField Ch3=new TextField(30);
    	Label lab3=new Label("Commentaire");
    	Label lab4=new Label("Cliquez sur la souris pour verifier");
     
     
    	String s="";
     
     
    	public void init(){
    		FlowLayout fl=new FlowLayout();
    	    setLayout(fl);
    		add(lab1);
    		add(Ch1);
    		add(lab2);
    		add(Ch2);
    		add(lab3);
    		add(Ch3);
    		add(lab4);
    		addMouseListener(this);
    		}
     
    	public void mouseEntered(MouseEvent e) {}
    	public void mouseExited(MouseEvent e)  {}
    	public void mousePressed(MouseEvent e) {}
    	public void mouseReleased(MouseEvent e){}
    	public void mouseClicked(MouseEvent e) {
     
     
     
     
    		try{
    			n=Integer.parseInt(Ch1.getText());
     
    			if(n==secret){
     
    				s="BRAVO";
     
    			}
    			else if(n<secret){
    				s="trop petit";
     
    			}
    			else if(n>secret){
    				s="trop grand";
     
    			}
    			nb_essais++;
    			Ch3.setText(s);
    			}
    		catch(NumberFormatException exc)
    		{
    			Ch3.setText("vous devez saisir un nombre !");
    		}
     
    			Ch2.setText(Integer.toString(nb_essais));
     
     
     
     
    		}
     
     
     
     
     
     
     
     
    }

Discussions similaires

  1. Mouse listener en dehors d'une jTable, pour une deselection de cellule
    Par Liiinz dans le forum Agents de placement/Fenêtres
    Réponses: 0
    Dernier message: 26/09/2011, 15h14
  2. Mouse Listener sur JList non catché ponctuellement
    Par Akryos-K dans le forum Composants
    Réponses: 3
    Dernier message: 04/05/2011, 08h48
  3. Ogre et OIS, Mouse Listener
    Par chistophe dans le forum Ogre
    Réponses: 3
    Dernier message: 12/04/2010, 10h04
  4. une exception dans un mouse listener
    Par krikri1504 dans le forum Débuter
    Réponses: 3
    Dernier message: 30/10/2008, 13h12
  5. Quel mouse listener utiliser ?
    Par icicmoi dans le forum Composants
    Réponses: 15
    Dernier message: 07/08/2008, 16h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo