Bonjour,

Je suis en train de créer un petit éditeur html, je suis en possession d'un JTextPane dans lequel a été intégré HTMLEditorKit.

Je peux donc taper du texte dans cette case et j'aimerai lorsque je clique sur un bouton que le texte sélectionné se mette en gras.

Voici ce que j'ai fait :
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
23
24
25
26
27
28
29
30
31
 
                tnews = new JTextPane();
        tnews.setPreferredSize(new Dimension(300,300));
          HTMLEditorKit htmlKit = new HTMLEditorKit();
        tnews.setEditorKit(htmlKit);
        tnews.setText("Texte ecrit dans ma case");
 
 
        scroll = new JScrollPane(tnews);             
        pnews.add(scroll);
 
 
 
pboutons = new JPanel();pcontenu.add(pboutons,BorderLayout.NORTH);
bgras = new JButton("gras");pboutons.add(bgras);
bgras.addActionListener(this);
 
 
 
////////////////////// et c'est à partir d'ici que tout va mal
 
            if (e.getSource() == bgras)
        {
 
              try 
              {
                  tnews.getDocument().insertString(3, "<b>",  null);
              } 
              catch (BadLocationException e1) {e1.printStackTrace();}
 
        }

Dans cet exemple le problème est que à la place de prendre en compte la balise, il m'inscrit dans la case "<b>".


Comment dois-je m'y prendre ?


Merci d'avance


Adriien