Bonjour,

En cliquant sur le bouton j'aimerais afficher un lien sur un JTextPane.

Le problème est qu'avec un HTMLEditorKit et un HTMLDocument, le lien s'affiche en noir, comme si c'était un simple texte.

Voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
           JTextPane textpane = new JTextPane();
           textpane.setEditable(false);
           textpane.setContentType("text/html");
           textpane.setBounds(400,30,300,200);
 
    public class event implements ActionListener{     
 
         public void actionPerformed(ActionEvent e) {
 
            HTMLDocument doc = new HTMLDocument();
            HTMLEditorKit kit = new HTMLEditorKit();
            textpane.setEditorKit(kit);
            textpane.setDocument(doc);
 
            try {
                kit.insertHTML(doc, doc.getLength(), "<p><a href=\"www.developpez.net\">lien</a></p>", 0, 0, null);
 
            } catch (BadLocationException | IOException ex) {
                ex.printStackTrace();
            }
         }
    }
En manipulant un HTMLEditorKit et HTMLDocument qui existent déjà ça fonctionne bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
           JTextPane textpane = new JTextPane();
           textpane.setEditable(false);
           textpane.setContentType("text/html");
           textpane.setBounds(400,30,300,200);
 
    public class event implements ActionListener{     
 
        public void actionPerformed(ActionEvent e) {
 
           HTMLDocument doc = (HTMLDocument)textpane.getDocument();
           HTMLEditorKit kit = (HTMLEditorKit)textpane.getEditorKit();
 
           try {
                kit.insertHTML(doc, doc.getLength(), "<p><a href=\"www.developpez.net\">lien</a></p>", 0, 0, null);
 
           } catch (BadLocationException | IOException ex) {
                ex.printStackTrace();
           }
       }
   }
Quelqu'un saurait-il m'indiquer comment résoudre ce problème ?

Merci d'avance pour votre aide.