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 :

[JTextPane] Récupérer l'index


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 91
    Par défaut [JTextPane] Récupérer l'index
    Bonjour,
    J'ai développé une fonction recherche dans un jtextpane... la recherche est bonne mais j'aimerais récupérer l'index du mot trouvé!
    Comment faire?
    Merci!

    ps:
    labelRec1.setText("Entrez un mot à rechercher") ;
    labelRec.setText("Pas de recherche pour le moment") ;
    compteurRec = 0 ;
    textRec = textField.getText() ; //le mot recherché
    textAreaRec = textArea.getText() ; //tout le texte
    boolean indice = false;
    int index;
    String delimiters = "+-*/(),.:; \n\r\f\b\t\'\"\\"; // les délimiteurs
    StringTokenizer st = new StringTokenizer(textAreaRec,delimiters,true);

    while (st.hasMoreTokens() || indice==true) //Teste s'il existe au moins une sous-chaine disponible à lire dans la chaine.
    {
    String mot = st.nextToken();
    if (mot.compareTo(textRec) == 0)
    {
    index = textAreaRec.indexOf(mot);
    //index = textArea.get ;
    System.out.println("l'index du mot!: "+index);
    textArea.setSelectionStart(index);
    textArea.setSelectionEnd(index + mot.length());
    compteurRec = compteurRec + 1 ;
    }
    }

    if(textRec.compareTo("") == 0)
    {
    labelRec.setText("Pas de recherche pour le moment") ;
    }
    else if(compteurRec == 0)
    {
    labelRec.setText("Le mot " + textRec + " n'apparait pas dans le text") ;
    }
    else
    {
    labelRec.setText("Le mot : " + textRec + " apparaît " + compteurRec + " fois.") ;
    }
    [/b]

  2. #2
    Membre éclairé Avatar de Piolet
    Inscrit en
    Février 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 469
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonText.indexOf(tonMot);
    et tu peux répeter autant de fois cette fonction, tant qu'elle ne renvoie pas -1, comme ca, ca fera ta recherche encore plus rapidement je pense, un peu comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    int index = 0;
    int counter = 0;
     
    index = tonText.indexOf(tonMot, index);
    while (index != -1) {
       counter++;
       index = tonText.indexOf(tonMot, index);
    }
     
    if (counter == 0) System.out.println("le mot "+tonMot+" n'apparait pas");
    else System.out.println("le mot "+tonMot+" apparait "+counter+" fois");
    je ne c plus si le nom de la méthode est indexOf ou un autre nom, enfin bref c plus sûre comme méthode et plus court

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 91
    Par défaut
    Merci mais ya tjs le meme problème! qd je tape entrer, il avance d'un pas en plus! (cf \n je pense... mais bon..)
    grrrrrrr

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 91
    Par défaut
    bon c ok! je récupère le nombre de retour à la ligne et je la soustrait à l'index!
    merci!

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

Discussions similaires

  1. Récupérer l'index en cours
    Par Telemak dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/05/2006, 21h48
  2. [vb.net][dataview] récupérer l'index des items filtrés ?
    Par graphicsxp dans le forum Windows Forms
    Réponses: 6
    Dernier message: 26/01/2006, 15h55
  3. Comment récupérer l'index du curseur dans une TStringGrid ?
    Par Sydaze dans le forum Composants VCL
    Réponses: 2
    Dernier message: 26/04/2005, 09h17
  4. Récupérer l'index de la ligne d'une TDBLookUpListBox
    Par navis84 dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/02/2005, 10h13
  5. Comment récupérer l'index du dernier élément inséré ?
    Par Didier100 dans le forum Bases de données
    Réponses: 4
    Dernier message: 15/07/2004, 22h41

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