[JAVA]
vichenze
-
fiddy Messages postés 11653 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11653 Date d'inscription Statut Contributeur Dernière intervention -
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 de 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'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 :
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)
{
...
}
}
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 de 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'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 :
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)
{
...
}
}
A voir également:
- [JAVA]
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Eclipse java - Télécharger - Langages