如何创建一个简单的段落类

问题描述:

我一直在试图建立一个类可以做到以下几点:

•设置:字体对准(左,中,右,对齐)
•一种有效的方式将append文本添加到文档中。
文本并不需要是可选择或可编辑。 我必须能够覆盖的文字画/渲染。如何创建一个简单的段落类

我发现JDK JTextComponent类是很难有效地使用,因为这是我迄今为止,但它远不是我想要实现:

public class Paragraph extends JTextPane{ 

    public Paragraph(){ 
     this.setFont(Fonts.PARAGRAPH); 
     this.setOpaque(false); 
    } 

    // ridiculously slow 
    public void append(String s) { 
    SimpleAttributeSet def = new SimpleAttributeSet(); 
    StyleConstants.setForeground(def, Colors.PARAGRAPH); 
    Document d = getDocument(); 
    try { 
     d.insertString(d.getLength(), s, def); 
    } catch (BadLocationException ble) { 
    } 
} 
} 



问题:有没有什么图书馆可以节省我重新发明*的时间?
如果不是,我该如何去扩展JDK的实现?谢谢

+0

_save我重新发明*_简单:不要;-)你认为需要修复的问题是什么? “高效”是什么意思? – kleopatra 2012-02-13 09:46:20

+1

忘记了:_never_子类只是配置 – kleopatra 2012-02-13 09:48:51

+0

@kleopatra你能解释你的第二个评论多一点吗? – rtheunissen 2012-02-13 10:05:13

你的文档应该是StyledDocument实例。然后使用Document实例的setParagraphAttributes()方法。

对于多个附加使用一个单独的文件(未设置到JTextPane的实例。

使用套件OT创建一个新的空文档实例。呼叫你所有的追加,然后setDocument(theDocInstance)到的JTextPane。

+0

听起来很有趣,我会放弃它。 – rtheunissen 2012-02-13 10:05:52

+0

好吧,这很好,很快,但我不知道现在如何设置'字体'?我可以看看它。谢谢。 – rtheunissen 2012-02-13 10:10:32

+0

您可以像以前一样插入属性。插入字符串后,通过setParagraphAttributes()方法将段落属性应用于插入的片段。 – StanislavL 2012-02-13 10:21:16