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 :

TextArea: Prendre mot à mot


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut TextArea: Prendre mot à mot
    Bonjour,
    Je souhaiterais savoir comment prendre mot apres mot dans un textArea.

    De plus, je souhaiterais egaleemnt prendre les retour à la ligne.

    Merci pour votre aide.

    PS: comment accepter les tabulation dans un texte area?

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Par défaut
    Tu récupère la valeur de ton textarea et tu y applique la fonction split applicable aux string en précisant que tu te base sur les espaces, ca te renverra un tableau avec dans chaque case un mot (ici séparé par des espaces), y a plus qu'à parcourir le tableau...
    Tu peux egalement lui dire de faire de même avec les sauts de lignes.
    http://java.sun.com/j2se/1.4.2/docs/...ng/String.html

  3. #3
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    tu peux faire un getText() sur ton TextArea tu récupère alors un String que tu peux parser avec la classe StringTokenizer par exemple.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  4. #4
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Utilise la classe StringTokenizer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    StringTokenizer st = new StringTokenizer("ca va bien ?");
         while (st.hasMoreTokens()) {
             System.out.println(st.nextToken());
         }
    +++
    Ju

  5. #5
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    Merci à tous,

    j'avais deja commencé à utiliser StringTokenizer.

    Mais le probleme est que je souhaite garder les retours à la ligne ET les tabulations.

    Si jarrive à garder ces deux choses, il me restera alors encore un probleme: configurer mon textArea pour qu'il accepte les tabulations, mais je ne sais pas si c'est possible.

    MERCI D'AVANCE

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Par défaut
    C'est quoi le but de ton opération? Tu veux les prendre pour faire quoi?

  7. #7
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    au fait, je veux traduire mot par mot. J'ai une sorte de lexique que j'ouvre...ensuite il me suffit de comparer un à un.
    Lorsqu'un mot est trouvé, il le remplace dans un nouveau fichier par sa traduction.

  8. #8
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    personne ne voit?

    Pour résumer:

    1/ Je veux que mon textArea accepte les tabulation (un peu comme dans un editeur de texte)
    2/ Je veux prendre mot à mot mon textArea
    3/ Je veux que les retour à la ligne et tabulation apparaissent.

    Pourquoi le 3/?
    Tout simplement, je reprends le texte du textArea que l'utilisateur a entré, ensuite je transforme ces mots en d'autres mots, mais je souhaite conserver sa mise en page.


    MERCI

    PS: l'utilisateur entre des mots appartenants à un script que je suis entrain de mettre en place. Il ecrit des trucs du genre:

    Moi, j'ai utilisé un StringTokenizer qui coupe apres les blancs ou les ";" (car c'est une sorte de langage de programmation. Mais je souhaite tranformer son:
    Par
    Je dois donc place à la fin le ";"
    Masi comment savoir si l'utilisateur a mis un ";" ou un blanc.
    Si il ecrit:
    OuvrirFichier ("blabla"); ou OuvrirFichier;
    Ca doit retourner OpenFile("Blabla"); ou OpenFile;

    Donc comment savoir si StringTokenizer a coupé à cause d'un ; ou d'un blanc? (afin que je place un blanc ou un ";")

  9. #9
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    Personne n'est inspiré?
    Toutes les pistes sont bonnes à prendre, n'hésitez pas

  10. #10
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Par défaut
    Moi j'imbriquerais des tableaux du style, un premier split sur les espaces qui donne donc un tableau, puis un autre split de chaque case de ton tableau sur les ; puis un autre sur autre chose,et ainsi de suite.

    Autre solution tu encadre tout les caracteres speciaux par un espace (ex ";" devient " ; ") tu fais un premier split sur les saut de ligne pour séparer chaque ligne, ensuite un second split sur les espaces, tu as ainsi chaque caractere dans une case de ton tableau et ainsi tu les gardes.

    Troisieme solution pour tes remplacements, tu prends caracteres par caractere tu teste le suivant, si ca correspond à un mot clé à changer tu reviens en arriere..

  11. #11
    Membre chevronné Avatar de let_me_in
    Inscrit en
    Mai 2005
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 441
    Par défaut
    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
     
    String text=textArea.getText();
    StringBuffer resultat=new StringBuffer(),intermediaire=new StringBuffer();
     
    for(int i=0;i<text.length();i++){
              if(Character.isLeter(text.charAt(i))){
                        do{
                             intermediaire.append(text.charAt(i));
                             i++;
                             }while(Character.isLeter(text.charAt(i))&&i<text.length());
                        resultat.append(traduction(intermediaire.toString()));
                        intemediaire.delete(0,intermediaire.length());
                        continue;
                        }
              resultat.append(text.charAt(i));
              }
    }
    je ne l'ai pas testé, donc ne t'attends pas a ce qu'elle marche du premier coup.

Discussions similaires

  1. Outil de comparaison mot à mot
    Par aaaaaaaa dans le forum Langage
    Réponses: 2
    Dernier message: 14/10/2009, 18h28
  2. textarea: wrap avec mots longs
    Par Zwiter dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 13/08/2009, 15h33
  3. Regex: trouver une chaine et prendre le mot d'aprés
    Par Greg84 dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 07/11/2008, 14h41
  4. NetObjectFusion mot mot
    Par od.dev dans le forum Outils
    Réponses: 2
    Dernier message: 02/01/2007, 14h58
  5. Retour a la ligne dans un textarea quand le mot est trop long
    Par avogadro dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/11/2006, 15h35

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