我想知道如何更改句子中的特定文本颜色?
假设 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/