2016-05-04 4 views
1

Salut J'ai JTextPane et je veux charger le contenu (texte avec les informations de police) à différents moments. le texte ajouté changera toujours dans le nom ou la taille de la police ou gras ou italique. Lorsque j'ai inséré une nouvelle chaîne (avec des polices diff), TextPane perd toujours les informations de police d'un texte chargé précédent. Comment conserver les informations de police toujours pour un volet de texte? Aussi je veux insérer des images !! Dois-je utiliser HtmlDocument pour cela? Toute idée ou suggestion sont les bienvenues. Merci d'avance!! Mon code pour JTextPane est,Comment préserver le style des textes dans JTextPane tout en ajoutant des chaînes

textPane.setText("\n This is sample text editor ex"); 
styleDoc = textPane.getStyledDocument(); 
SimpleAttributeSet keyWord = new SimpleAttributeSet(); 
// set font information for new text 
StyleConstants.setFontFamily(keyWord, fontName); 
StyleConstants.setFontSize(keyWord, fontSize); 
try { 
      styleDoc.insertString(0, 
        styleDoc.getText(0, styleDoc.getLength()), null); 
      styleDoc.insertString(styleDoc.getLength(), "ample", keyWord); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
+2

Veuillez fournir un [MCVE] – STaefi

Répondre

2

Réponse rapide, pour une question rapide.

1) Utilisez JTextPane.inserComponent ou JTextPane.insertIcon pour insérer vos images.

2) Utilisez un StyledEditorKit pour ajouter votre texte stylé. N'oubliez pas que vous pouvez également utiliser HTMLDocument et HTMLEditorKit pour gérer le contenu html.