Bonjour à tous,
Je développe un client IRC en Java et je souhaite ajouter le support de liens hypertextes dans la zone d'affichage des messages entrants/sortants.
J'utilise un JTextPane dans lequel j'écris les messages que je parcours préalablement caractère par caractère pour affecter des attributs de couleurs et de mises en forme par décodage des codes mIRC. Je substitue également des émoticônes par leur image respective.
Désormais, je souhaiterais qu'un texte tel que le nom d'un salon soit mis en hypertexte auquel je peux définir mon action.
Par exemple, à la réception du message "Allez sur #toto !", je souhaite voir "#toto" en lien clickable, et définir au click une fonction (qui s'occupera ici d'envoyer un join sur IRC).
Seulement voilà... Mon JTextPane utilise un EditorKit "StyledEditorKit" et je ne trouve pas de méthode pour rendre mon texte hypertexte.
Tout nouveau texte reçu est inséré dans le Document par la fonction insertString en me repositionnant à la fin du document. A chaque nouvelle mise en forme, j'écris mon buffer, je setAttribute le gras par exemple, et je continue jusqu'à ma prochaine écriture.
Donc si je change d'EditorKit, je risque de devoir réinventer ma roue... Il y a la méthode d'insérer un component à la place du texte de mon lien, mais je ne la trouve pas très propre.
Auriez-vous des idées ? Je prends tout
Merci d'avance et bons développements !
Partager