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

Langage Java Discussion :

Validation de données sans utiliser ENTER


Sujet :

Langage Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Validation de données sans utiliser ENTER
    Salut à tous!

    J'ai un petit problème de programmation, et je pense que vous pourrez m'aider facilement...

    Je vous explique depuis de le début :

    Les but principal est de commander un moteur. Pour cela j'utilise les touches du clavier :

    quand on laisse la touche A appuyée : augmenter l'angle du plateau fixé sur l'axe du moteur, etc...

    J'utilise donc un Scanner, ou je demande à l'utlisateur sa commande.

    Il entre la lettre et suivant celle ci, je pars sur un switch, qui part sur une boucle qui s'incrémente et qui fait varier l'angle.

    Le probleme est que à tout instant l utilisateur est susceptible de changer le sens de rotation ou de simplement arreter le moteur.

    Donc j'aimerais qu'à chaque tour de boucle, il y ait confirmation de la commande. --> si c'est toujours la meme qu'avant, on continue la boucle, sinon on sort.

    Le problème, c'est que j'utilise un Scanner pour la confirmation de cette commande, et que l'utilisateur est obligé de valider avec la touche ENTER.

    Ma question est donc : Est ce possible de valider une entrée sans utiliser la touche ENTER?

    Je sais pas si c'est très clair, mais j'ai fait tout mon possible!

    Merci de votre potentielle aide!

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    En mode console, je pense pas. Par contre, si tu passe par une JFrame ou autre, tous les composant swing prenent des keyListener, qui eux même on des méthode keyDown, keyUp et keyPressed. Entre keyDown et keyUp, tu sais que la touche est maintenue. Tu pourrais donc te baser là dessus.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse...

    Le seul hic c'est que je suis justement en mode console...

    Si quelqu'un avait une idée...

    Merci!

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Le problème, c'est que le stdin est géré par l'os et que, par défaut, il ne fait de flush que lorsqu'un \n est atteint ou que le buffer est plein. Donc même la jvm ne vois pas ce texte tant que le \n n'est pas atteind. Une solution serait de soit trouver un programme qui réduit le buffer à sa plus simple expression avant de lancer la jvm, soit trouver une librairie native qui fait des accès clavier direct ou qui se base sur des librairies comme ncurse: http://sourceforge.net/projects/javacurses/

Discussions similaires

  1. [Débutant] Validation de donnée par touche Enter
    Par lucazzo dans le forum ASP.NET
    Réponses: 1
    Dernier message: 15/04/2013, 09h19
  2. [XHTML 1.0] Validation W3C : background sans utiliser CSS
    Par nikko2028777 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 25/03/2011, 22h28
  3. Valider des données automatiquement sans ENTER
    Par five1966 dans le forum VBA Access
    Réponses: 4
    Dernier message: 07/06/2008, 20h47
  4. Effacer données formulaire sans utiliser de bouton
    Par GillesFABRE dans le forum ASP
    Réponses: 3
    Dernier message: 23/08/2006, 13h27
  5. Delphi 7 - Rave Report sans utiliser de base de donnée
    Par Telemak dans le forum Composants VCL
    Réponses: 5
    Dernier message: 14/04/2006, 16h04

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