gpt4 book ai didi

java - 在 JTextPane 中将文本加粗并着色时出错

转载 作者:行者123 更新时间:2023-12-01 18:43:37 25 4
gpt4 key购买 nike

我正在尝试使用 JTextPane 创建一个文本编辑器,将文本输出为 HTML。我想添加粗体、颜色和对齐文本的选项。我在更改粗体和非粗体混合的文本选择的颜色时遇到问题。例如,如果我在编辑器中有文本“粗体文本不是粗体文本”,并且我突出显示这两个单词并尝试更改文本的颜色,它会更改颜色并使所有文本粗体,而不是让第二个词不粗体。所以我不确定这个问题是从哪里来的,是否与 setCharacterAttributes 有关,或者是否是将文本输出为 html 的问题。这是我的一些使文本变为粗体的代码:

    MutableAttributeSet attrs = pane.getInputAttributes();
StyleConstants.setBold(attrs, bold);
pane.getStyledDocument().setCharacterAttributes(p.getSelectionStart(),len,attrs,false);

下面是更改文本颜色之前和之后 html 输出的示例。这就是 body 标签内部的内容

之前:粗体文本不是粗体文本

将颜色更改为红色后:粗体文本不是粗体文本

并且与选择的第一个单词是否粗体有关。如果我做了相同的示例,但第二部分是粗体而第一部分不是粗体,那么它就可以正常工作。所以这与文本选择的开头何时为粗体有关。

最佳答案

here is some of my code that makes the text bold:

不知道如何使用该代码的上下文。但我想说,更好的方法是使用 StyledEditorKit 中找到的默认粗体操作。

阅读 Text Component Features 上的 Swing 教程一个简单的编辑器示例。该示例使用 JTextPane,但创建菜单项的概念是相同的。

关于java - 在 JTextPane 中将文本加粗并着色时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18877688/

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