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

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

让我们说HELLO WORLD …我想把世界改成红色而不改变HELLO的字体颜色。同样如何将WORLD改为粗体

我想将这些字符串设置为jtextarea但我能找到的就是这样的

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

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

从文档组件的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("HELLO WORLD")); final JTextPane p = new JTextPane(); // the HTMLEditorKit is not enabled by default in the JTextPane class. p.setEditorKit(new HTMLEditorKit()); p.setText("HELLO WORLD"); f.getContentPane().add(p); f.pack(); f.setVisible(true); } }