Bonjour,
j'utilise un JTextPane pour afficher des mots avec une couleur de fond.
J'ai défini une classe qui hérite de DefaultStyledDocument (voir code ci-dessous). La méthode ajout me permet d'ajouter des nouveaux mots avec une certaine couleur.
J'ai un problème pour modifier la couleur de fond des mots déjà présent. Aucune exception n'est levée, j'en conclue que l'utilisation de setCharacterAttributes ne pose pas problème et que c'est juste un problème d'actualisation de l'affichage.
Y'a-t-il une méthode spéciale à appeller pour mettre à jour l'affichage du JTextPane une fois que j'ai modifié son document associé ou est ce fait automatiquement ?
Merci
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 package vue; import java.awt.Color; import javax.swing.text.*; publicclass DocumentStyle extends DefaultStyledDocument { private Style tab_couleur[]; public DocumentStyle (StyleContext styles) { super(styles); tab_couleur = new Style[15]; initStyle (styles); } publicvoid ajout(int offs, String str, int coul){ super.insertString(offs, str, tab_couleur[coul]); } publicvoid changeStyleSurligne (int positionDepart, int longueur, int coul) { setCharacterAttributes (positionDepart, longueur, tab_couleur[coul], false); } privatevoid initStyle (StyleContext styles) { ... } }
Partager