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 :

texte de couleur differente


Sujet :

AWT/Swing Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut texte de couleur differente
    salut a tous,

    Je réalise un petit programme en java, et j'ai, à la fin, comme un log.
    a chaque action dans le programme, j'affiche une ligne dans ce log.

    Quand j'ai une erreur, je voudrai afficher la ligne en rouge.

    Mais je ne suis pas capable de trouver comment faire.

    Avez vous une piste?

    Ce que je sais, c'est que dans un jtextarea, c'est impossible.
    Dans un jtextpane, ca doit etre possible.
    mais je ne trouve pas de methode pour juste afficher une ligne en couleur.
    le seul truc que j'arrive a faire c'est de mettre tous le texte dans une autre couleur.

    En vous remerciant beaucoup d'avance

  2. #2
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Si tu ne veux pas utiliser le JTextPane, tu peux toujours utiliser un JLabel dans lequel tu mettras ton texte formatté en HTML (FONT COLOR=...). JLabel sait interpréter le HTML.

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    moi je veux bien utiliser ce que l'on veux, mais jlabel ne me convient pas.
    J'avais vu cette option la, mais il n'y a pas de barre de defilement quand le texte depasse le cadre.

  4. #4
    Membre expérimenté
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Points : 1 381
    Points
    1 381
    Par défaut
    Utilise une JList avec un JScrollPane.

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    ok, par contre, je n'arrive pas a mettre une couleur sur une ligne precise.

    j'ai utiliser "DefaultListModel" pour créer ma liste d'element, mais apres je sais pas comment mettre seulement certaine ligne dans une autre couleur.

    d'avance merci

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    J'ai reussi !!!!

    Avec un jtextpane.

    Pour info :
    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
     
    import java.awt.Color;
    import javax.swing.text.BadLocationException;
    import javax.swing.text.DefaultStyledDocument;
    import javax.swing.text.Style;
    import javax.swing.text.StyleConstants;
    import javax.swing.text.StyleContext;
     
    DefaultStyledDocument doc = new DefaultStyledDocument();
    log.setDocument(doc);
    Style def = StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE);
    StyleConstants.setFontFamily(def, "SansSerif");
    Style regular = log.addStyle("regular", def);
    Style s = log.addStyle("red", regular);
    StyleConstants.setForeground(s, Color.RED);
    s = log.addStyle("green", regular);
    StyleConstants.setForeground(s, Color.GREEN);
    s = log.addStyle("blue", regular);
    StyleConstants.setForeground(s, Color.BLUE);
    s = log.addStyle("black", regular);
    StyleConstants.setForeground(s, Color.BLACK);
    try {
       doc.insertString(doc.getLength(), "ecrit en rouge\n", log.getStyle("red"));
       doc.insertString(doc.getLength(), "ecrit en vert\n", log.getStyle("green"));
       doc.insertString(doc.getLength(), "ecrit en bleu\n", log.getStyle("blue"));
            } catch (BadLocationException ex) {
                ex.printStackTrace();
            }

    Voila bonne soirée a tous

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

Discussions similaires

  1. Ligne de texte de couleur differente
    Par lagach dans le forum Tkinter
    Réponses: 2
    Dernier message: 21/03/2008, 16h30
  2. WPF Afficher un texte avec plusieurs couleur differentes
    Par ZashOne dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 03/01/2008, 00h38
  3. Colorer chaque mot par une couleur differente dans un champ de texte
    Par Mettali hedi dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/01/2007, 13h20
  4. Ecrire du texte en couleurs dans un composant
    Par wutang dans le forum Composants
    Réponses: 11
    Dernier message: 12/07/2004, 10h55
  5. Afficher du texte en couleur sous Borland C++ 4.02
    Par Cthulhu 22 dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 18/11/2003, 00h53

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