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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 ?

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