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 :

[JTextComponent] Afficher du texte avec style et image


Sujet :

Composants Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 44
    Points : 29
    Points
    29
    Par défaut [JTextComponent] Afficher du texte avec style et image
    Bonjour, je voudrais savoir si il etait possible d afficher du texte en couleur dans un textarea ou un autre composant gerant l affichage de texte.
    Part ailleurs, il ne faudrait pas que tout le texte soit en couleur. En gros, je veux pouvoir ecrire un texte en plusieurs couleurs differentes.
    De plus, est il possible d ajouter des images a cette zone de texte, un peu comme des emoticones.
    Merci de votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Pour la couleur utilise du HTML.

    Pour l'image je crains que ce ne soit plus compliqué. Mais regarde la démo StypedPad fournie avec le JDK ca pourrait te donner des idées.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    Pourrais tu etre un peu plus precis en ce qui concerne l utilisataion de HTML.
    Je ne vois pas la relation que l on peut faire entre du java et de l html en fait...
    Merci de ton aide

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Les composants de Swing peuvent utiliser du texte HTML sans probleme pour la plupart.
    Hors avec la balise <FONT> tu peux spécifier la couleur de ton texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        String text = "<html><body>Le texte est <font color=\"#FF0000\">rouge</font>.</body></html>";
        JEditorPane editor = new JEditorPane("text/html", text);
        JLabel label = new JLabel(text);
        JButton button = new JButton(text);
    Si ton composant n'est pas éditable tu n'as rien de plus à faire.
    S'il est éditable, à toi d'adapter les commandes de mise en forme choisies par l'utilisateur pour modifier la chaine HTML de manière ad hoc.
    Tu peux aussi faire des types de documents plus complexe autre que du HTML et à ce moment là la lecture du code de la démo pourra plus t'aider que moi.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    J ai essaye de declarer un String avec des balises HTML.
    Le probleme est que lorsque je le fait afficher dans un textArea, il ne l interprete pas mais se contente de reecrire les balises...
    Comment faire ?

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Les composants de Swing peuvent utiliser du texte HTML sans probleme pour la plupart.
    Là il te faut utiliser un JEditorPane à la place du JTextArea.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    Merci pour ton aide.
    Mais j ai une toute derniere question STP. Je voudrais savoir si on peut concatener du texte.
    En fait, ma zone de texte doit etre dynamique : tout au long de mon application elle doit ecrire des phrases. Cela dit, il ne faut pas que les phrases soient "ecrasees", remplacees... il faut qu elles apparaissent toutes.
    Pour les textArea, il y a la methode "Append(string)".
    Pour les JEditorPane, cette methode n existe pas. J ai essay de recuperer le text et ensuite de lui ajouter la nouvelle phrase :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     JEditorPane editor = new JEditorPane("text/html", text); 
    String text = "<html><body>Le texte est <font color=\"#FF0000\">rouge</font>.</body></html>";
    editor.setText(text);
    String s=editor.getText();
    String text2="<html>....</Html>";
     s+="\n"+text2;
    editor.setText(s);
    J ai pour resultat l affichage de "text".
    Si je rajoute un "System.out.println(s)" a la fin de ces lignes de codes j ai pour resultat dans la console :
    <html>
    <head>

    </head>
    <body>
    Le texte est <font color="#FF0000">rouge</font>.
    </body>
    </html>

    <html><body>Le texte est <font color="#FF0099">n imporete quoi</font>.</body></html>


    Merci de ton aide

  8. #8
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    N'utilise pas l'HTML dans ce cas mais quelque chose comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
          SimpleAttributeSet style = new SimpleAttributeSet();
          style.addAttribute(StyleConstants.Foreground, Color.RED);
     
          Document outputDocument = textPane.getDocument();
          try
          {
              outputDocument.insertString(outputDocument.getLength(), "MON TEXTE", style);
          } catch(BadLocationException bl) { }
          textPane.setCaretPosition(outputDocument.getLength());
    Bref, lis la documentation de Document et SimpleAttributeSet.
    Romain Guy
    Android - Mon livre - Mon blog

  9. #9
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 44
    Points : 29
    Points
    29
    Par défaut
    Desole de te le demander mais pourrais tu m expliquer un peu ton code...
    je n y comprends rien.
    Merci davance.
    De plus, quel package faut il importer?

  10. #10
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Cherche dans la doc et lis la doc de JEditorPane, Document et SimpleAttributeSet
    Romain Guy
    Android - Mon livre - Mon blog

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

Discussions similaires

  1. Afficher du texte avec accents et une image
    Par totof49 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 15/01/2009, 13h53
  2. afficher un texte avec une image en arriere plan
    Par etud_ini dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 21/09/2007, 12h05
  3. Afficher du texte avec SDL.
    Par kmitz dans le forum SDL
    Réponses: 14
    Dernier message: 30/04/2006, 19h56
  4. [Javascript] Afficher du texte avec des intervalles
    Par Invité4 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/01/2005, 21h29
  5. Comment afficher du texte avec swing ?
    Par meda dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 27/10/2004, 14h35

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