Bonjour à tous,
j'utilise java netbeans et Je cherche à savoir comment faire pour modifier la couleur de certain mot dans un JTextArea
Merci de votre aide.
Bonjour à tous,
j'utilise java netbeans et Je cherche à savoir comment faire pour modifier la couleur de certain mot dans un JTextArea
Merci de votre aide.
Salut,
Le plus simple est d'utiliser un JTextPane à la place d'un JTextArea et d'utiliser du HTML :
Tu peux également gérer les styles en direct :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JTextPane textArea = new JTextPane(); textArea.setContentType("text/html"); textArea.setText("<html><body><p>Un <span style='color:blue;'>mot</span> en <span style='color:red;'>rouge</span></body></html>"); frame.add(textArea); frame.setSize(300, 300); frame.setLocationRelativeTo(null); frame.setVisible(true);
Il y a d'autres possibilités avec ce système, comme d'appliquer le style à la sélection courante (on peut gérer d'autres attributs que la couleur bien sûr), et changer les styles pendant que le document est affiché.
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 public static void main(String[] args) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final DefaultStyledDocument doc = new DefaultStyledDocument(new StyleContext()); // un utilise un type de document stylé JTextPane textArea = new JTextPane(doc); textArea.setText("Un mot en rouge."); final Style couleurRougeStyle = textArea.addStyle("couleurRouge", null); // on créé un style (on peut créer des styles qui héritent d'autre style) couleurRougeStyle.addAttribute(StyleConstants.Foreground, Color.RED); // on affecte un attribut de type couleur de texte et de valeur rouge doc.setCharacterAttributes(10, 5, couleurRougeStyle, true); // on applique le style sur une partie du texte (le mot rouge ici) frame.add(textArea); frame.setSize(300, 300); frame.setLocationRelativeTo(null); frame.setVisible(true); }
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager