用SimpleAttribute类完成。
如:
private StyledDocument document =
(StyledDocument)jEditorPane.getDocument();
private SimpleAttributeSet attributes = new SimpleAttributeSet();StyleConstants.setForeground(attributes,Color.red);
document.setCharacterAttributes(0,10,attributes ,false);其实就是利用设置文当属性来完成。而这个属性是AttributeSet接口,SimpleAttribute实现了这个接口。看看setCharacterAttributes这个方法的帮助。就是把一个属性集引用到这个文当的一个指定范围上。
如:
private StyledDocument document =
(StyledDocument)jEditorPane.getDocument();
private SimpleAttributeSet attributes = new SimpleAttributeSet();StyleConstants.setForeground(attributes,Color.red);
document.setCharacterAttributes(0,10,attributes ,false);其实就是利用设置文当属性来完成。而这个属性是AttributeSet接口,SimpleAttribute实现了这个接口。看看setCharacterAttributes这个方法的帮助。就是把一个属性集引用到这个文当的一个指定范围上。
我刚才在JEditorPanez中试验的时候,发现了一些问题。
1.JEditorPane的默认文档是PlainDocument而非DefaultStyledDocumen,而只有StyleDocument才又setCharacterAttribute方法。当然,可以new 一个DefaultStyledDocument,显式的设置为JEditorPane的document。
2.设置一个DefaultStyledDocument作为JEditorPane的document,代码可以执行,但是视图上没有改变。但是相应的JTextPane如此执行就有效果。
3.所以估计和视图仍然有关系,所以要做到比较麻烦。
建议直接使用JTextPane类