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

AWT/Swing Java Discussion :

problème avec buffer


Sujet :

AWT/Swing Java

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut problème avec buffer
    salut
    j'ai un problème avec buffer et les touches de clavier


    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
     
    KeyListener keyListener = new KeyListener() {
    public void keyPressed(KeyEvent keyEvent) {
    aaa = keyEvent.getKeyChar();
            if (keyEvent.getKeyCode() != KeyEvent.VK_LEFT    ) {
     
     
     i++;
     
      if (keyEvent.getKeyCode() == KeyEvent.VK_BACK_SPACE    ) {
    if (jTextField11.getText().length()>0) {
    vv = buff.substring(0, buff.length() - 1);
     
    buff.deleteCharAt(buff.length() - 1);
    }
    }
    else {
                int k =0;
           vv = buff.append(aaa).toString();
     
    }
    }
    }
    par exemple si je tape des caractéres 11 et je retourne vers l'arriere avec la touche left deux fois et je tape un autre caractére 4 voila ce que j'ai 114
    comment avoir 411 au lieu 114


    un autre exemple si j'ai 15465 et je retourne vers l'arriere deux fois et j'ajoute un caractére 9 j'aurais 154659
    je cherche à avoir 154965
    merci

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    C'est sans doute parce que tu ne gères pas le VK_LEFT au bon endroit ; il faut le gérer dans un keyPressed ou keyReleased, pas dans un keyTyped. Vois le javadoc de KeyEvent.

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut
    salut
    j'ai modifié le code

    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
     
     
    char aaa; 
    String vv; 
    int i,j=0; 
     
    StringBuffer buff = new StringBuffer(); 
     
     
     
    KeyListener keyListener = new KeyListener() { 
    public void keyPressed(KeyEvent keyEvent) { 
    aaa = keyEvent.getKeyChar(); 
           if (keyEvent.getKeyCode() == KeyEvent.VK_LEFT    ) { 
             i++; 
           } 
         else  if (keyEvent.getKeyCode() == KeyEvent.VK_RIGHT    ) { 
             j++; 
     
           } 
     
     
     
    else  if (keyEvent.getKeyCode() == KeyEvent.VK_BACK_SPACE    ) { 
    if (jTextField11.getText().length()>0) { 
     
    } 
    } 
    else { 
     
     
       if (i > 0) { 
         buff.insert(buff.length() - i+j, aaa); 
         vv = buff.toString(); 
     
     
       } 
       else if (j > 0) { 
         buff.insert(buff.length() - j, aaa); 
         vv = buff.toString(); 
     
     
       } 
     
     
       else { 
         vv = buff.append(aaa).toString(); 
     
     
     
       } 
    } 
     
     
     
       } 
     
                          public void keyReleased(KeyEvent keyEvent) { 
     
                          } 
     
                          public void keyTyped(KeyEvent keyEvent) { 
     
                          } 
     
     
                        }; 
                        jTextField11.addKeyListener(keyListener);

    le problème avec KeyEvent.VK_BACK_SPACE
    je n'ai pas arrivé a corriger cette partie pour supprimer les caractére si je click sur la touche VK_BACK_SPACE

  4. #4
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Je découvre que tu fais ça sur un JTextField !?? Pourquoi, alors, ne fais-tu pas tout simplement jtextfield1.getText() ; il n'y a pas besoin de KeyListener !

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut
    Citation Envoyé par gifffftane Voir le message
    Je découvre que tu fais ça sur un JTextField !?? Pourquoi, alors, ne fais-tu pas tout simplement jtextfield1.getText() ; il n'y a pas besoin de KeyListener !
    bonsoir
    je veux que ça se fasse sur jtextfield car je lance une recherche sur une table de base de donnée



    j'espere que vous avez bien compris le problème

  6. #6
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Mais pourquoi utilises-tu un KeyListener ? Pourquoi ne fais-tu pas tout simplement jtext.getText() lorsque c'est prêt ?

  7. #7
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut
    qui a une idée car je coince

  8. #8
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par gifffftane Voir le message
    Pourquoi ne fais-tu pas tout simplement jtext.getText() lorsque c'est prêt ?
    Sinon explique ce que tu veux faire avec cela...

    a++

  9. #9
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut
    salut
    le problème que je veux lancer une recherche avec une requette sql
    à chaque fois jesaisi avec le clavier un caractére
    par exemple si je clique a
    une requette déclanche
    j'ai essayé avec ce code mais je voix que j'ai problème avec la touche BACK_SPACE

  10. #10
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    UTILISE JTEXTPANE.GETTEXT() !

  11. #11
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut
    qui a une idée sur le problème

  12. #12
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Nan, mécépapossib'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    KeyListener a = new KeyAdapter() {
      public void KeyTyped (KeyEvent e) {
        String cheveux = ((JTextComponent)e.getSource()).getText();
        // Je fais ce que je veux avec mes cheveux.
      }
    };
    Et hop, très court, rien à ajouter et tu as toute la chaîne en court.

  13. #13
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut
    salut
    merci
    mais j'ai remarqué qu'il y a problème
    j'ai ajouté au dessous de la ligne
    String chev = ((JTextField )e.getSource()).getText();

    System.out.println(la valeur"+chev);


    j'ai remarqué que si je saisi la valeur z
    j'aurais pas affichage de text "valeur z mais rien
    si je continu à saisir une valeur f j'aurais z
    si je continu à saisir u j'airais zf


    mais pourquoi

  14. #14
    Membre éclairé Avatar de BakaOnigiri
    Inscrit en
    Avril 2002
    Messages
    366
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 366
    Par défaut
    J'imagine que c'est parceque lors de l'évenement KeyTyped la lettre tapée n'est pas encore affecté au contenu du JTextField, essaye le même code mais sur un KeyPressed

  15. #15
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut
    j'ai la meme chose
    meme résultat

  16. #16
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    C'est pour un système d'autocomplétion ?

Discussions similaires

  1. Socket Receive / Problème avec buffer
    Par Spellbinder dans le forum C#
    Réponses: 3
    Dernier message: 12/04/2011, 09h22
  2. Problème avec (je suppose) les buffers fread/fwrite
    Par valefor dans le forum Administration système
    Réponses: 0
    Dernier message: 31/10/2008, 14h41
  3. Problème de buffering avec video flash
    Par testicool dans le forum Intégration
    Réponses: 1
    Dernier message: 13/06/2008, 10h34
  4. [read] problème avec le buffer
    Par pitit777 dans le forum Réseau
    Réponses: 6
    Dernier message: 05/10/2006, 18h38
  5. Problème de buffer avec des int et des char
    Par Lolita59 dans le forum Réseau
    Réponses: 23
    Dernier message: 04/05/2006, 11h09

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