gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 03:50:00 24 4
gpt4 key购买 nike

我一直在尝试创建一个可以执行以下操作的类:

• 设置:字体对齐方式(左、中、右、对齐)
• 一种将文本附加 文本到文档的有效方法。
文本不需要是可选择的或可编辑的。我必须能够覆盖文本的绘制/渲染。

我发现 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 实现?谢谢

最佳答案

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

对于多个追加,使用单独的文档(未设置到 JTextPane 实例。

使用工具包创建一个新的空 Document 实例。调用所有附加项,然后将 setDocument(theDocInstance) 调用到 JTextPane。

关于java - 如何创建一个简单的段落类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9258161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com