Bonjour tous le monde
Voici mon probleme.
Je réalise un programme qui récupere en entrée une chaine au format xml et qui renvoie dans un JTextPane le texte avec la bonne mise en forme.
Exemple : "<TX>Bon<B>jour</B>comment <I>sa va</I></TX>"
Mon probleme c'est qu'une fois le caractere analysé et les styles définis, je souhaite insérer mon caractere dans mon JTextePane.
Voici mon code :
Bien entendu j'applique a mon JTextePane un RTFEditorKit et un DefaultStyledDocument.
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 String test = "<TX>Bon<B>jour</B>comment <I>sa va</I></TX>"; StringBuffer buffer = new StringBuffer(test); JTextPane textEdit = new JTextPane(); StyledDocument doc = textZone.getStyledDocument(); for(int i=0; i<buffer.length(); i++) { caractere = buffer.substring(i, 1); if(caractere.equalsIgnoreCase("<")) { // Traitement particulier } // on applique la mise en forme StyleConstants.setFontFamily(attrs, currentStyle.getFont()); StyleConstants.setFontSize(attrs, currentStyle.getIntSizeFont()); Color mColor = new Color(Red, Green, Blue); StyleConstants.setForeground(attrs, mColor); // on insere le caractere try { doc.insertString(doc.getLength(), caractere, attrs); }catch(BadLocationException bad){} }
Une fois le caractere inséré, le traitement s'arrête et une ribambelle d'exemptions. Donc si vous avez une solution je suis preneur.![]()
Partager