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 :

JTextArea VS Unicode


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Par défaut JTextArea VS Unicode
    Bonjour tout le monde!

    Ca fait maintenant quelques heures que je cherche une solution à mon problème sur le net et je ne trouve pas trop alors je fais appel à vos lumières!

    exemple de texte : http://www.remacle.org/bloodwolf/his...ocrategr.htm#I

    Mon problème?

    J'aimerai pouvoir copier un morceau de texte grec (cf exemple) dans mon JTexteArea, et pouvoir le visualiser correctement sans avoir des carrés (ie pas d'affichage du symbole). Y a un moyen de paramètrer le JTextArea pour l'unicode? Et puis si y a une solution j'aimerai aussi permettre un bon affichage dans une JList.

    Merci d'avance!

  2. #2
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Salut, il n'y a pas besoin de paramétrer le JTextArea.

    C'est plutôt la/les chaîne(s) de caractères que tu places dans ton JTextArea qui doivent être traitées.

    En ce qui concerne le travail sur les String, il suffit de changer l'encodage de ta String vers l'UTF-8.

    Regarde ce LIEN pour changer l'encodage.

    Si tu utilises plusieurs String à la suite, pense à utiliser la méthode append() pour les ajouter les unes à la suite des autres.

    Enfin, cela ne pose pas de problème d'affecter ces String à un JTextArea ou à une JList si ce n'est une question d'ergonomie par la suite.

    Vu la quantité de texte de ton lien, le JTextArea est une bonne solution.

    ++

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Par défaut
    Merci pour ta réponse!

    Je viens d'essayer en faisant :
    - je copie/colle la première phrase de l'exemple dans le JTextArea
    - je click sur un bouton => gestion évènement avec pour code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    String stringUTF8 = zoneTexte.getText();
    try{
      String stringISO = new String(strungUTF8.getBytes(),"ISO-639-2");
      zoneTexte.setText(stringISO);
    }catch{...}
    et ça me sort une erreur : java.io.UnsupportedEncodingException : ISO-639-2

    Ca marche que pour les codages de type ISO-8859?

    Car mon texte c'est du grec ancien et normalement après m'être renseigné, il faut l'ISO-639-2 ...

    Merci d'avance !

    EDIT : je viens de lire que les formats US-ASCII, ISO-8859-X (1 à 7), UTF-8, UTF-16BE, UTF-16LE, UTF-16 sont gérés en interne par Java

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Par défaut
    C'est encore moi ! (oui oui ce problème m'obsède )

    Toujours dans mon travail de recherche d'informations je suis tombé sur les ResourceBundle. Ca peut résoudre mon problème? Si oui j'aimerai bien comprendre un peu comment ça marche parce que je n'ai pas tout capté...

    Merci d'avance!

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Par défaut
    Bon une solution (idée de Nicolas_75) serait de faire un setFont sur le JTextArea avec une font unicode.

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    textArea.setFont(new Font("Arial Unicode MS", Font.PLAIN,12));
    Ca marche comme ça alors je ne vais pas m'en priver !

  6. #6
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Mais comme dit pour Nicolas_75, cette solution s'appliquant à une font précise n'est pas forcément très portable mais bon c'est déjà mieux que rien

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

Discussions similaires

  1. Comment insérer de l'unicode dans un Richedit ?
    Par DanaKil dans le forum C++Builder
    Réponses: 6
    Dernier message: 30/03/2004, 00h43
  2. Utilisation de l'unicode dans un algo de cryptage
    Par Zazeglu dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 28/10/2003, 14h38
  3. [Unicode] Internationalisation d'une application
    Par Thierry Laborde dans le forum Langage
    Réponses: 4
    Dernier message: 21/10/2003, 20h15
  4. conversion Unicode -> ASCII
    Par juzam dans le forum C
    Réponses: 8
    Dernier message: 24/07/2003, 10h07
  5. [debutant] unicode
    Par dadou91 dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 23/05/2003, 10h12

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