GetSelectionStart() et getSelectionEnd() dans un JEditorPane

Résolu
Nitruk
Messages postés
128
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
20 juillet 2009
- 25 août 2008 à 01:55
Nitruk
Messages postés
128
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
20 juillet 2009
- 25 août 2008 à 11:42
Bonjour,

Je dispose d'un JEditorPane éditable en HTML, que je voudrais pouvoir mettr een page à l'aide de certains boutons (gras, souligné, etc...).Cela suppose une recherche plutôt complexe des balises avant et après pour savoir si le texte sélectionné est déjà gras ou souligné, s'il est au début, à la fin, au milieu de la zone à laquelle est appliqué ce format, et en conséquence comment enlever la mise en page ou l'ajouter... Mais avant même de toucher à tout ça, je me heurte à un problème plutôt gênant :

Les méthodes getSelectionStart() et getSelectionEnd() héritées de JTextComponent me donnent les indices correspondant par rapport au texte affiché, et non par rapport à la source complète que j'obtiens par getText(). Quelqu'un a-t-il une solution à me soumettre, autre que de compter un par un les caractères en vérifiant qu'ils ne sont pas compris dans des balises, jusqu'à attenidre les indices donnés ?

Nitruk

2 réponses

indiana_jules
Messages postés
750
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
23 décembre 2008
21
25 août 2008 à 07:57
Bonjour,
Pour faire ce que tu as envie de faire, il est en réalité très simple: il suffit d'utiliser un EditorKit. Ce dernier permet de faire un certain nombre d'action souhaité. du coup, si tu veux faire du HTML, utilise un HTMLEditorKit. Ensuite, affecte à tes boutons une action spécfique (StyledEditor.BoldAction, StyledEditor.Italicaction). Et lorsque tu regarderas la source HTML, tu verras qu'il s'arrange pour mettre les balises comme il faut.

Tu devrais pouvoir trouver quelques sources sur ce site (regarde sur éditeur HTML, éditeur style ...)

Voili voilà

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
3
Nitruk
Messages postés
128
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
20 juillet 2009

25 août 2008 à 11:42
Ok merci, après quelques heures de recherches dans la direction que tu m'as indiquée, je commence à arriver à ce que je veux. ^^

Nitruk
0