在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); } }