JtextArea et couleur de texte - Java - Programmation
Marsh Posté le 04-11-2003 à 14:14:09
Tu dois pouvoir faire quelque chose avec la méthode getHighlighter de la classe javax.swing.text.JTextComponent en ajoutant des "highlights" (addHighlight) dont le javax.swing.text.Highlighter.HighlightPainter est un javax.swing.text.DefaultHighlighter.DefaultHighlightPainter que tu redéfinis de façon à dessiner les caractères en une certaine couleur.
J'ai utilisé cette dernière pour surligner, mais il doit y avoir moyen d'intervenir sur la couleur du texte uniquement.
Marsh Posté le 04-11-2003 à 14:23:03
Tu peux aussi jeter un oeil sur le forum de Sun :
http://forum.java.sun.com/thread.j [...] ead=168251
Marsh Posté le 05-11-2003 à 19:31:00
3xc4l18ur a écrit : Bonjour a tous, |
tu crée une classe qui herite de JTextPane:
dans le constructeur:
Code :
|
Code :
|
Marsh Posté le 07-11-2003 à 10:38:48
veryfree a écrit :
|
a quoi sert la premiere partie on peu pas tout simplement récupérer le doc associé au jtextpane et utiliser la fonction insertString que tu a fait ?
Marsh Posté le 07-11-2003 à 12:08:49
EpoK a écrit : |
ben regarde : dans insertStrig il utilise un paramêtre style.
Faut bien qu'il l'ait créé quelque part
Marsh Posté le 07-11-2003 à 13:47:36
car moi en fait j'ai plusieur string que je met dans une seul et j'affiche que la finale mais il me faut une couleur pôur chaque chaine, mais sur la chaine final je peut pas retrouver le début ou la fin d'un petite chaine
du cou je pense a faire un Document, à add au fur et a mesur dans le doc et faire un setDocument a la fin
c'est fesable vous pensez ?
Marsh Posté le 07-11-2003 à 19:10:59
et comment je fait
je me fait une classe qui extends Document ? ou StyledDocument ou quoi ? je rajoute les meme fonctions ?
Marsh Posté le 07-11-2003 à 19:23:59
Citation : je pense a faire un Document, à add au fur et a mesur dans le doc et faire un setDocument a la fin |
t as tout dit la
le doc tu le recupere via tonTextComponent.getDocument();
et tu t'inpire du bout de code que je t'ai filé
Marsh Posté le 07-11-2003 à 20:10:22
veryfree a écrit :
|
hum hum
ca marche ^^
tu peux juste m'indiquer comment marche le StyleConstants pour choisir la font ?
merci
Marsh Posté le 07-11-2003 à 22:01:35
setFontFamily(MutableAttributeSet a, String fam)
la javadoc bourdel
Marsh Posté le 07-11-2003 à 22:42:06
veryfree a écrit : setFontFamily(MutableAttributeSet a, String fam) |
oui oui j'ai trouvé ca mais je sais pas comment l'utiliser
mais le reste marche tres bien merci
Marsh Posté le 12-12-2007 à 15:15:45
Salut à tous, désolé de remonter ce vieux vieux topic, mais je suis embeté avec la methode insertString.
J'ai un thread qui tourne, et qui de temps en temps (une fois par seconde, variable) appelle la méthode :
Code :
|
taDetails étant mon JTextPane
De temps en temps ca marche, mais la plupart du temps pas du tout l'eventDispatcher me pete des mega exceptions du genre :
Code :
|
Et le try de la fonction addLog attrape une NullPointerException qui sort de nulle part
Si quelqu'un peut m'aider je lui en serait tres reconnaissant
PS: Ca marchait tres bien avant avec une JTextArea et la méthode append() de cette derniere.
Marsh Posté le 12-12-2007 à 15:22:16
Ca le fait plus quand je met en commentaire la partie pour le "scroll lock", pour que le scroll se fasse en meme temps qu'il y a des ajouts.
Marsh Posté le 12-12-2007 à 15:37:04
Bon ben résolu en changeant de méthode pour le scroll lock.
J'ai remplacé par le code ci-dessous et ca fonctionne aussi bien
Code :
|
Marsh Posté le 04-11-2003 à 13:48:44
Bonjour a tous,
Voila je realise un rcon Q3 en java et lorsque je recois les reponses du server Q3, parfois certain joueurs ont des noms composé de "^1Ex^2ca...". Je sais que ces joili caracteres servent a colorié le nom du joueur mais je voudrais que mon JTextArea puisse changer de couleur en fonction des charactere...
Ma question ne pose pas que l'algo car elle serait assez bidon..
Mais plutot sur une des methode d'un JTextArea (genre setColorFont()) qui permettré d'ecrire... EXCA
Merci
Ps: Le JTextPane le fait parait il mais je n'arrive pas a lui specifié un nb de lignes et de colonnes comme pour le JTextArea...