Bonjour,
J'ai trouvé comment ajouter des components directement dans mon JTextpane.
Ce que j'aimerais faire c'est utiliser les css avec une page Html et ajouté directement un composent quand il trouve une balise de style définie.

Quelque essais sur ce 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
23
 HTMLEditorKit kit = new HTMLEditorKit();//kit s ur HTMLEditorKit
        HTMLDocument doc = (HTMLDocument) (kit.createDefaultDocument());
        jTextPane1.setEditorKit(kit);
        jTextPane1.setDocument(doc);
        jTextPane1.setContentType("text/html");
        StyleSheet css = kit.getStyleSheet();
        css.addRule("body {align : left; background-color: #84A2E8;}");
        css.addRule("body {font-size : 14pt; }");
        css.addRule("body {font-family : Sans Serif; }");
        css.addRule(".style1 {	color: #999933;	font-weight: bold;}");
        css.addRule(".style2 {	color: #009933;	font-weight: bold;}");
        css.addRule("div {margin-bottom: -20pt; }");      
        jTextPane1.addStyle("test1",null);        
        StyleConstants.setComponent(jTextPane1.getStyle("test1"),new Button("ee"));
        StyleConstants.setComponent(css.getStyle(".style1"),new Button("ggg"));        
        jTextPane1.setText("<html xmlns='http://www.w3.org/1999/xhtml'><head><title>Untitled Document</title></head>" +                
                "<body><img src='http://www.google.fr/intl/fr_fr/images/logo.gif'><div align='center' class='style1'>cvvc</div></body></html>");
      try {         
         jTextPane1.addStyle("test1",null);        
        StyleConstants.setComponent(jTextPane1.getStyle("test1"),new Button("ee"));    doc.insertString(doc.getLength(),"cool",jTextPane1.getStyle("test1"));
        } catch (BadLocationException ex) {
            ex.printStackTrace();
        }
Le ce code effectue bien la modification et applique les styles.

Dans la suite du code je fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
jTextPane1.addStyle("test1",null);        
StyleConstants.setComponent(jTextPane1.getStyle("test1"),new Button("ee"));
 
...
 
doc.insertString(doc.getLength(),"cool",jTextPane1.getStyle("test1"));
Pour ajouter a la fin de mon document un style qui inclu un component.
Si on reprend le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<html xmlns='http://www.w3.org/1999/xhtml'><head><title>Untitled Document</title></head>" +                
                "<body><img src='http://www.google.fr/intl/fr_fr/images/logo.gif'><div align='center' class='style1'>cvvc</div></body></html>
J'aimerais inclure directement le composent pour les styles 'style1' comme j'ai fait avec le insertString.
Si vous avez une autre méthode plus simple, car le but et d'avoir un template, exemple une fenêtre de chat et remplace le nom de la personne par un composant Button...