简体   繁体   中英

Get style at caret position in a JTextPane

I have a basic text editor that can style documents (bold, underline, italicize, underline, align left/right/center, color, font size/family), and that all works great. The problem I'm having is that I want the style to set my buttons and boxes to the correct styling for where the caret is.

Say, for example, I have the string

the quick brown fox jumps over the lazy dog

When I click between the u and i in quick, I want my italicize button to be toggled on to indicate that the text where the caret is has the italicized styling.

I'm using a JTextPane to hold the text, and a StyledEditorKit for the styling.

Thanks.

I think what you are looking for, is

getCharacterAttributes method from the JTextPane

http://download.oracle.com/javase/7/docs/api/javax/swing/JTextPane.html#getCharacterAttributes ()

Ok, just for anyone still looking for and didnt find the answer : for example :

AttributeSet attributeSet = textPane.getCharacterAttributes();
Object bold = attributeSet == null ? null : attributeSet.getAttribute( StyleConstants.Bold );
System.out.println( "Bold : " + bold );

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM