La cosa non è così semplice: innanzitutto ti consiglio di non concatenare la stringa. Mantieni separate le parole che vuoi visualizzare con stili differenti.
Poi dai un'occhiata alla documentazione di JTextPane, dell'interfaccia Style e della creazione degli stili. Dai un'occhiata all'interfaccia Document.
Questo, comunque, dovrebbe essere ciò che chiedi:
codice:
public void scriviTesto(JTextEditor destinazione) {
StyledDocument doc = destinazione.getStyledDocument();
creaStili( doc );
doc.insertString(doc.getLength(), "Ciccio ", doc.getStyle("grassetto"));
doc.insertString(doc.getLength(), "Pasticcio", doc.getStyle("normale"));
}
private void creaStili(StyledDocument doc) {
Style deflt = StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE);
// Stile normale
Style normale = doc.addStyle("normale", deflt);
StyleConstants.setFontFamily(deflt, "Arial");
StyleConstants.setForeground(deflt, Color.black);
StyleConstants.setFontSize(deflt, 12);
// Stile grassetto
Style s = doc.addStyle("grassetto", normale);
StyleConstants.setBold(s, true);
StyleConstants.setForeground(s, Color.blue);
StyleConstants.setFontSize(s, 12);
}
Ciao.