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

Composants Java Discussion :

Problèmes avec keypressed


Sujet :

Composants Java

  1. #1
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut Problèmes avec keypressed
    Bonjour,

    Je suis en train de faire une mini application dans le genre tip'tap, c'est à dire l'utilisateur doit taper un mot au clavier en un certain temps et si il réussit ca lui donne des points, j'ai déja fait la barre d'avancement et le changement de mot à la fin du temps pour ce mot mais maintenant, il faudrait que des que l'utilisateur presse sur la touche enter, il compare ce qu'il a écrit avec le mot.

    Mais je n'arrive pas à créer les keylisteners, keypressed de facon à ce que ca marche; C'est certainement à cause du fait que j'employe des timers...

    Voici le code ou j'appelle la fonction avec le timer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tip tip = new tip(5500,words,ProgressBar,Label2);
    					tip.start();
    voici le code de la classe tip :
    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
    package main;
     
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.Timer;
    import javax.swing.JLabel;
    import javax.swing.JProgressBar;
     
    public class tip extends Timer implements ActionListener{
    	private short i = 0;
    	private short total;
    	private String[] words;
    	private JProgressBar Bar;
    	private JLabel Label;
    	private short index;
    	methods objet = new methods();
     
    	public tip(int delay,String[] words,JProgressBar Bar,JLabel Label){
    		super(delay, null);
    		this.Bar = Bar;
    		this.Label = Label;
    		this.words = words;
    		this.setInitialDelay(0);
    		total = (short)words.length;
    		addActionListener(this);
    	}
     
    	public void actionPerformed(ActionEvent e) {
    		index = (short)(Math.random()*total);
    		Label.setText(words[index]);
    		Progress avance = new Progress(100,Bar);
    		avance.start();
    		i++;
    		if(i >= total)this.stop();
    	}
    }
    et voici le code de la classe qui fait avancer la barre de temps (je ne pense qu'on doive y changer qqch mais je la mets à tout hasard):
    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
    package main;
     
    import javax.swing.Timer;
    import javax.swing.JProgressBar;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
     
    public class Progress extends Timer implements ActionListener{
    	private JProgressBar ProgressBar;
    	private int progress = 0;
     
    	public Progress(int delay, JProgressBar Bar){
    		super(delay, null);
    		this.ProgressBar = Bar;
    		addActionListener(this);
    	}
     
    	public void actionPerformed(ActionEvent e) {
    		progress = progress + 2;
    		ProgressBar.setValue(progress);
    		if(progress >= 100)this.stop();
    	}	
    }
    Je peut tout à fait créer de nouvelles classes ou apporter des modifications à celle ci et je n'ai aucune contrainte puisque je fais ca pour mon loisir

    si vous avez besoin d'autres infos, demandez le

    En esperant que vous trouverez le problème et que par la, j'apprendrai quelque chos, je vous souhaite une bonne nuit ^^

    [ Sujet déplacé depuis le forum java par Viena ]
    Les Règles du Forum

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 94
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ZoneSaisie.addKeyListener(new KeyListener() {
      public void keyReleased(KeyEvent ke) {
        if(ke.getKeyCode() == 10)	// touche 'entrer'
    	// comparer les mots
      }
    }
    devarait marcher, A++

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 899
    Billets dans le blog
    54
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(ke.getKeyCode() == KeyEvent.VK_ENTER)
    Dans la mesure du possible toujours utiliser les valeurs definies dans KeyEvent : les claviers sont tres differents suivant les pays... et aussi suivant les OS

    Ceci dit VK_ENTER fait partie des rares constantes dont la valeur ne semble pas risquer de changer, voir ici :

    WARNING: Aside from those keys that are defined by the Java language (VK_ENTER, VK_BACK_SPACE, and VK_TAB), do not rely on the values of the VK_ constants. Sun reserves the right to change these values as needed to accomodate a wider range of keyboards in the future.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 94
    Par défaut
    Salut bouye,
    oui, je rectifie aussitôt dans mes codes, j'y avais pas pensé, merci.
    ps : bonjour à la Nouvelle-Calédonie
    A++.

  5. #5
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Merci, je vais essayer ca ce soir et je vous tiens au courant

    P.S. Quand tu dis : ZoneSaisie.addKeyListener, tu entends quoi par ZoneSaisie ? La JFrame ou le JDesktopPane ?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 94
    Par défaut
    ben la zone où tu saisis les lettres, c'est un JTextField ou un JTextArea en general ... maintenant ZoneSaisie peut être taJFrame mais je sais pas, j'ai encore pas utilisé les JFrame à cet usage ... de toutes façon il faut bien que la zone où tu as placé KeyListener ai le focus sinon je crois bien que l'ecoute sur l'événement passera à la trappe , faut tester.
    à suivre....
    A++.

  7. #7
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    j'y avais meme pas pensé, c'est pourtant logique de le mettre dans mon JTextField ^^

  8. #8
    Membre Expert
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Par défaut
    Si le sujet est résolu, merci de le signaler en cliquant sur
    Les Règles du Forum

  9. #9
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Je testerai tout ca ce soir à mon retour de l'école

  10. #10
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Merci à vous, ca marche nickel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec KeyPress pour un textbox
    Par Patmat44 dans le forum C#
    Réponses: 2
    Dernier message: 05/04/2012, 17h58
  2. Ogre/OIS Problème avec keyPressed
    Par tet2brick dans le forum Ogre
    Réponses: 5
    Dernier message: 26/10/2009, 14h23
  3. problème avec un keyPressed
    Par jcy29 dans le forum Langage
    Réponses: 7
    Dernier message: 18/10/2009, 18h04
  4. Problème avec le keyPress
    Par stouf() dans le forum 2D
    Réponses: 4
    Dernier message: 12/03/2009, 11h00
  5. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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