java - 在java中更改特定的文本颜色

标签 java string swing text colors

我想知道如何更改句子中的特定文本颜色?

假设 HELLO WORLD...我想在不改变 HELLO 字体颜色的情况下将 WORLD 更改为红色...与如何将 WORLD 更改为粗体的方法完全相同

我想将这些字符串设置到一个 jtextarea 中,但我只能找到类似这样的东西

JTextArea textbox = new JTextArea("hello world");
textbox.setForeground(Color.red)

这些使整个句子变成红色而不是只使 WORLD 变成红色?

最佳答案

看看这个this来自关于文本组件的 Oracle 文档。 JTextArea 将接受样式,但它始终会在其整个内容中应用样式。但是,如果您要使用 JTextPane,则可以使用 HTML 在文本中创建您想要的任何样式。

备份断言的代码:

import javax.swing.JFrame;
import javax.swing.JTextPane;
import javax.swing.text.html.HTMLEditorKit;

public class StyleTestApp {
    public static void main(final String[] args) {
        final JFrame f = new JFrame("test");
        //f.getContentPane().add(new JTextArea("<html>HELLO <font size=\"3\" face=\"verdana\" color=\"red\">WORLD</font></html>"));
        final JTextPane p = new JTextPane();
        // the HTMLEditorKit is not enabled by default in the JTextPane class.
        p.setEditorKit(new HTMLEditorKit());
        p.setText("<html>HELLO <font size=\"3\" face=\"verdana\" color=\"red\">WORLD</font></html>");
        f.getContentPane().add(p);
        f.pack();
        f.setVisible(true);
    }
}

关于java - 在java中更改特定的文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9399823/

相关文章:

java - 没有 setter 的 JPA 2.0 持久属性

java - AWS Elastic Beanstalk 和 JAVA_OPTS

java - 如何判断一个数是否可​​以用A^B的形式表示?

javascript - Google 脚本 - 仅从字符串创建 HtmlOutput? (即将字符串转换为 html)

java - 如何从一个类访问另一个类的 String?

java - 更改绘画面板中的绘画图像

java - Subclipse 问题 : running . java 文件作为 Java 应用程序

arrays - 将字符串重新分配给数组中的一组值

java - JTextArea - 如何获取当前行的第一个索引?

java - 无法绘制以鼠标单击为中心的圆