OVH Cloud OVH Cloud

Style dans un JTextPane ?

2 réponses
Avatar
Damien GUERIN
Bonjour,

je cherche à faire un editeur de fichier source (comme nedit ou UltraEdit,
JBuilder etc...) et par conséquent, j'aimerais styler mon JTextPane.
Pour que par exemple, les mots clés de mon langage soit d'une certaine
couleur, les variables d'une autre etc...
Bref, styler mon JTextPane j'y arrive mais je ne vois pas comment rendre le
style de mon JTextPane réactif à ce que l'utilisateur rentre.
Par exemple, j'aimerais que lorsque qu'il tape "mot clé", ce mot clé
devienne écrit en bleu (par exemple), mais lorsqu'il supprime le "é" de "mot
clé", ce mot redevienne noir...
J'ai bien une idée mais je pense qu'elle soit trop lourde. En effet je
pensais faire comme ça:
Lorsque l'utilisateur ouvrir le fichier, je parcours l'ensemble du texte en
stylant tous les occurences de mes mots clé et variables et que dès qu'un
changement intervient dans mon JTextPane, je supprime tous les styles
présents et je recharge ensuite en restylant tous les mots clés et
variables.
Bref, j'ai peur qu'avec cette méthode, ça risque d'être trop lourd en CPU.
Qu'en pensez-vous? Quelqu'un aurait une meilleure piste??

Merci pour votre aide.

2 réponses

Avatar
Nicolas Delsaux
Le Sun, 2 Nov 2003 02:32:05 +0100, Damien GUERIN s'est levé est s'est dit :
"tiens, si j'écrivais aux mecs de fr.comp.lang.java :

Bonjour,

Bref, styler mon JTextPane j'y arrive mais je ne vois pas comment rendre le
style de mon JTextPane réactif à ce que l'utilisateur rentre.
Par exemple, j'aimerais que lorsque qu'il tape "mot clé", ce mot clé
devienne écrit en bleu (par exemple), mais lorsqu'il supprime le "é" de "mot
clé", ce mot redevienne noir...


Tu devrais aller jeter un coup d'oeil au code de
http://sourceforge.net/projects/jedit-syntax/
qui est la version JavaBean (et donc intégrable à tout projet) de JEdit.


Bref, j'ai peur qu'avec cette méthode, ça risque d'être trop lourd en CPU.
Qu'en pensez-vous? Quelqu'un aurait une meilleure piste??


C'est une tuerie de proc, ça !
Implémentes plutôt un "WsordListener" qui réagit aux frappes de
l'utilisateur, et ne modifie que le style du mot modifié.

--
Nicolas Delsaux
"L'humour est une chose trop sérieuse pour être confiée aux rigolos."
Marcel Gotlib

Avatar
Damien GUERIN
Merci je regarde ça...


"Nicolas Delsaux" a écrit dans le
message de news: nc5skx2ylgf1$.aqikrsar4vp0$
Le Sun, 2 Nov 2003 02:32:05 +0100, Damien GUERIN s'est levé est s'est dit
:

"tiens, si j'écrivais aux mecs de fr.comp.lang.java :

Bonjour,

Bref, styler mon JTextPane j'y arrive mais je ne vois pas comment rendre
le


style de mon JTextPane réactif à ce que l'utilisateur rentre.
Par exemple, j'aimerais que lorsque qu'il tape "mot clé", ce mot clé
devienne écrit en bleu (par exemple), mais lorsqu'il supprime le "é" de
"mot


clé", ce mot redevienne noir...


Tu devrais aller jeter un coup d'oeil au code de
http://sourceforge.net/projects/jedit-syntax/
qui est la version JavaBean (et donc intégrable à tout projet) de JEdit.


Bref, j'ai peur qu'avec cette méthode, ça risque d'être trop lourd en
CPU.


Qu'en pensez-vous? Quelqu'un aurait une meilleure piste??


C'est une tuerie de proc, ça !
Implémentes plutôt un "WsordListener" qui réagit aux frappes de
l'utilisateur, et ne modifie que le style du mot modifié.

--
Nicolas Delsaux
"L'humour est une chose trop sérieuse pour être confiée aux rigolos."
Marcel Gotlib