GetSelectionStart() et getSelectionEnd() dans un JEditorPane [Résolu]

Nitruk 128 Messages postés lundi 8 août 2005Date d'inscription 20 juillet 2009 Dernière intervention - 25 août 2008 à 01:55 - Dernière réponse : Nitruk 128 Messages postés lundi 8 août 2005Date d'inscription 20 juillet 2009 Dernière intervention
- 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
Afficher la suite 

2 réponses

Répondre au sujet
indiana_jules 750 Messages postés mardi 9 mars 2004Date d'inscription 23 décembre 2008 Dernière intervention - 25 août 2008 à 07:57
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de indiana_jules
Nitruk 128 Messages postés lundi 8 août 2005Date d'inscription 20 juillet 2009 Dernière intervention - 25 août 2008 à 11:42
0
Utile
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
Commenter la réponse de Nitruk

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.