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 22
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
Rejoignez-nous