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

Entrée/Sortie Java Discussion :

Lire un caractère tapé au clavier


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 252
    Par défaut Lire un caractère tapé au clavier
    Alors voici ma classe
    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
     
    import java.io.*;
     
    class LireChar {
     
        public static void main ( String [] argv ){
     
            int x,y=0;
            char c;
            InputStreamReader isr = new InputStreamReader (System.in);
     
            try 
            {
                while( y < 10 ) 
                {
                    x=isr.read();
                    c=(char) x;
                    System.out.print(c);
                    System.out.print("-");
                    y++;
                }
                isr.close();
            }
            catch ( IOException e ) { e.printStackTrace(); }
        }
    }
    Tout à l'aire de bien marcher mais pourtant :

    1) Pk il n'y a pas le System.out.print("-"); qui s'affiche entre chaque caractères ?

    2) Pk après 10 caractères mon programme ne s'arrête pas ?

    3) Dès que je change le focus avec la souris (supposons que je vais sur mon bureau) et je tappe n'importe quoi, le programme ne li plus les caractères. Y a-t-il un moyen pour que le programme lise les caractères même si je suis sur word en train d'écrire par exemple ?

    Merci d'avance pour votre aide

  2. #2
    Membre très actif Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Par défaut
    alors apres mes quelque piti teste le programe ne lit pas les caractaire a la voler mais une fois l'appui sur "entrer"

    donc une fois l'appui sur entrer le prog lit les 10 premier caractaire taper et les separe par un "-"

    et pour que le prog resoive les evenement il est obligatoire a ma conaisance que le prog et le focus :s

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 252
    Par défaut
    Ha oui c'est vrai que une fois le "enter" appuyé tout marche correctement
    Quelqu'un pourrait m'expliquer pourquoi ?

    AUssi quelqu'un aurait une idée pour cette histoire de focus ?
    Je voudrais que mon programme lise les caractères a tout moment...
    Comment faire ?

  4. #4
    Membre très actif Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Par défaut
    le pourquoi ca doit venir du faite que les donner sont envoyer sur l'entrer standar du programe des l'appuie sur entrer et pas avant :s

    donc pour lire les caractaire taper au clavier sans keylistener ca a l'air mal barer avec le peu que je connaisse :s

    mais pour utiliser un keylistener il faut un component :s
    et il lui faut toujour le focus :s

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 252
    Par défaut
    hmm oké et donc il n'y a pas de solution ?... si quelqu'un a une idée elle est la bien venue

  6. #6
    Membre très actif Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Par défaut
    voila avec ca tu affiche tout les caractaire tapper au clavier mais bon il faut toujour que le prog garde le focus :s
    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
    import javax.swing.*;
    import java.awt.event.*;
     
    class Main extends JFrame
            {
            Main()
                    {
                    addKeyListener(new Keyboard());
     
                    setVisible(true);
                    }
            static public void main(String args[])
                    {
                    new Main();
                    }
            }
     
    class Keyboard implements KeyListener
            {
            public void keyTyped(KeyEvent e)
                    {
                    System.out.print(e.getKeyChar()+"-");
                    }
            public void keyPressed(KeyEvent e)
                    {
                    }
            public void keyReleased(KeyEvent e)
                    {
                    }
            }

Discussions similaires

  1. lire les caractères entrés au clavier au fur et à mesure
    Par Decon dans le forum Général Java
    Réponses: 9
    Dernier message: 07/05/2010, 13h19
  2. Réponses: 15
    Dernier message: 09/03/2007, 22h22
  3. lire des caractères
    Par soria_t dans le forum C
    Réponses: 5
    Dernier message: 23/02/2007, 12h20
  4. Réponses: 6
    Dernier message: 16/12/2006, 15h08
  5. [C#] mémoriser les caractères saisis au clavier
    Par tiboleo dans le forum Windows Forms
    Réponses: 1
    Dernier message: 04/06/2006, 12h25

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