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 :

couleur du texte d'un JTextPane


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Par défaut couleur du texte d'un JTextPane
    Bonjour,
    je voudrais changer la couleur de mon texte dans un JTextPane, j'ai essayé d'utiliser la methode setForeground(Color color) mais ça ne marche pas!!!
    Si quelqu'un à une idée merci de faire partager...

    Voila mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    contactP = new JPanel();
        contactP.setLayout(new GridBagLayout());
     
        contact_tp = new JTextPane();
        contact_tp.setOpaque(false);
     
        StyledDocument doc = contact_tp.getStyledDocument();
        MutableAttributeSet center = new SimpleAttributeSet();
        StyleConstants.setAlignment(center, StyleConstants.ALIGN_CENTER);
        doc.setParagraphAttributes(0, 0, center, true);
        contact_tp.setText(
          "Veuillez nous contacter...");
        contact_tp.setEnabled(false);

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 42
    Par défaut
    lu,
    si mes souvenirs sont bon ça doit être setSelectedTextColor(),

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Par défaut
    Merci pour ta réponse mais ça ne marche pas!!!

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Par défaut
    je sais pas si tu sais si on peut changer la couleur au niveau du String avant de faire le contact_tp.setText(...).
    On pourrait alors avoir un truc du genre String s = "...."
    et s.setColor(...) ou autre...

  5. #5
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut
    Salut,

    Le setForeground(Color) c'est pour modifier la couleur de l'ensemble du texte. Pour modifier la couleur d'une partie du texte on utilise alors des Style
    utilisés conjointement avec un StyledDocument.

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    import java.awt.Color;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTextPane;
    import javax.swing.text.BadLocationException;
    import javax.swing.text.Style;
    import javax.swing.text.StyleConstants;
    import javax.swing.text.StyledDocument;
     
    public class Test extends JFrame {
     
    	public Test() {
    		setDefaultCloseOperation(EXIT_ON_CLOSE);
     
    		JTextPane jTextPane = new JTextPane();
    		jTextPane.setForeground(Color.GREEN.darker());
     
    		Style defaut = jTextPane.getStyle("default");
    		Style style1 = jTextPane.addStyle("style1", defaut);
    		StyleConstants.setFontFamily(style1, "Comic sans MS");
    		StyleConstants.setFontSize(style1, 14);
    		StyleConstants.setForeground(style1, Color.BLUE);
    		Style style2 = jTextPane.addStyle("style2", style1);
    		StyleConstants.setForeground(style2, Color.RED);
    		StyleConstants.setFontSize(style2, 25);
     
    		String s1 = "Bonjour\r\n";
    		String s2 = "Bonjour\r\n";
    		String s3 = "Bonjour\r\n";
    		StyledDocument sDoc = (StyledDocument) jTextPane.getDocument();
    		try {
    			int pos = 0;
    			sDoc.insertString(pos, s1, defaut);
    			pos += s1.length();
    			sDoc.insertString(pos, s2, style1);
    			pos += s2.length();
    			sDoc.insertString(pos, s3, style2);
    		} catch (BadLocationException e) {
    			//
    		}
     
    		setContentPane(new JScrollPane(jTextPane));
    	}
     
    	public static void main(String[] args) {
    		Test frame = new Test();
    		frame.pack();
    		frame.setVisible(true);
    	}
     
    }

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Par défaut
    Bonjour désolé de ne repondre que maintenant j'ai essayé de faire un contact_tp.setForeground(Color.RED); mais sans succès mon texte à toujours une couleur bleu. En fait je voudrais que tout mon texte arrive à la même couleur pas seulement une partie je ne comprends pas pourquoi il ne change pas de couleur!!!

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

Discussions similaires

  1. [Swing] Centré un texte dans un JTextPane
    Par titi_22 dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 24/06/2011, 16h09
  2. Réponses: 4
    Dernier message: 22/01/2007, 21h14
  3. Changer la couleur du texte lors passage souris sur un TD !
    Par Kokito dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/01/2005, 15h40
  4. wxWidgets : couleur de texte sur une seule ligne
    Par Oatly dans le forum wxWidgets
    Réponses: 8
    Dernier message: 05/12/2004, 19h24
  5. [border][panel] couleur du texte
    Par harold63 dans le forum Composants
    Réponses: 3
    Dernier message: 29/06/2004, 15h36

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