import java.util.Enumeration;
import javax.swing.JTextPane;
import javax.swing.text.DefaultStyledDocument;
import javax.swing.text.Style;
import javax.swing.text.StyleConstants;
public class Main {
public static void main(String[] argv) throws Exception {
JTextPane textPane = new JTextPane();
DefaultStyledDocument doc = (DefaultStyledDocument) textPane.getDocument();
Enumeration e1 = doc.getStyleNames();
while (e1.hasMoreElements()) {
String styleName = (String) e1.nextElement();
System.out.println(styleName);
Style style = doc.getStyle(styleName);
int count = style.getAttributeCount();
System.out.println(count);
Enumeration e = style.getAttributeNames();
while (e.hasMoreElements()) {
Object o = e.nextElement();
if (o instanceof String) {
String attrName = (String) o;
Object attrValue = style.getAttribute(attrName);
System.out.println(attrValue);
} else if (o == StyleConstants.NameAttribute) {
styleName = (String) style.getAttribute(o);
System.out.println(styleName);
} else if (o == StyleConstants.ResolveAttribute) {
Style parent = (Style) style.getAttribute(o);
System.out.println(parent.getName());
} else {
String attrName = o.toString();
System.out.println(attrName);
Object attrValue = style.getAttribute(o);
System.out.println(attrValue);
}
}
}
}
}