gpt4 book ai didi

java - 在 JTextPane (Java Swing) 中更改段落的背景颜色

转载 作者:搜寻专家 更新时间:2023-11-01 02:18:27 25 4
gpt4 key购买 nike

是否可以在 Java Swing 中更改段落的背景颜色?我尝试使用 setParagraphAttributes 方法(下面的代码)对其进行设置,但似乎不起作用。

    StyledDocument doc = textPanel.getStyledDocument();
Style style = textPanel.addStyle("Hightlight background", null);
StyleConstants.setBackground(style, Color.red);

Style logicalStyle = textPanel.getLogicalStyle();
doc.setParagraphAttributes(textPanel.getSelectionStart(), 1, textPanel.getStyle("Hightlight background"), true);
textPanel.setLogicalStyle(logicalStyle);

最佳答案

更新:我刚刚发现了一个名为 Highlighter 的类。我认为您不应该使用 setbackground 样式。请改用 DefaultHighlighter 类。

Highlighter h = textPanel.getHighlighter();
h.addHighlight(1, 10, new DefaultHighlighter.DefaultHighlightPainter(
Color.red));

addHighlight 方法的前两个参数只是要突出显示的文本的起始索引和结束索引。您可以多次调用此方法以突出显示不连续的文本行。

旧答案:

我不知道为什么 setParagraphAttributes 方法似乎不起作用。但这样做似乎可行。

    doc.insertString(0, "Hello World", textPanel.getStyle("Hightlight background"));

也许你现在可以解决这个问题......

关于java - 在 JTextPane (Java Swing) 中更改段落的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1642725/

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