Ok, wow. Domanda difficile. Quindi non ho trovato un modo per ottenere lo stile di un determinato personaggio. Tuttavia, è possibile ottenere il MutableAttributeSet per un determinato carattere e quindi verificare se lo stile si trova in quel set di attributi.
Style s; //your style
Element run = styledDocument.getCharacterElement(
textPane.getSelectionStart());
MutableAttributeSet curAttr =
(MutableAttributeSet)run.getAttributes();
boolean containsIt = curAttr.containsAttributes(s);
Un problema con ottenere lo stile per una serie di caratteri è che ci possono essere più di uno stile applicato a tale intervallo (ad esempio: è possibile selezionare il testo in cui alcuni è audace e alcuni non è).
Per aggiornare il testo selezionato è possibile:
Style s; //your style
JTextPane textPane; //your textpane
textPane.setCharacterAttributes(s, false);
Oh, e sembra che la funzione getLogicalStyle non funziona perché è il ritorno allo stile di default (o forse solo lo stile) per il paragrafo che contiene p, piuttosto che lo stile del personaggio in p.
fonte
2009-05-01 04:52:54
Ho appena visitato il link java2s e wow, molti esempi. – extraneon