Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-在JTextArea中将颜色设置为文本_Java_String_Swing_Colors - Fatal编程技术网

Java-在JTextArea中将颜色设置为文本

Java-在JTextArea中将颜色设置为文本,java,string,swing,colors,Java,String,Swing,Colors,我有一个JTextArea,它的文本设置为一个信息字符串。在这个信息字符串中,我有一个变量,我想将其涂成红色,为此,我编辑字符串如下: "Result: <html><font color=red>" + negativeValue + "</font></html>" “结果:“+negativeValue+” 我希望这个结果是:##数字是红色的。但是,它只是将以下内容放入文本区域: Result: <html><font

我有一个JTextArea,它的文本设置为一个信息字符串。在这个信息字符串中,我有一个变量,我想将其涂成红色,为此,我编辑字符串如下:

"Result: <html><font color=red>" + negativeValue + "</font></html>"
“结果:“+negativeValue+”
我希望这个结果是:##数字是红色的。但是,它只是将以下内容放入文本区域:

Result: <html><font color=red>##</font></html>
结果:##

我真的不知道如何让它工作,所以有人可以提供建议,如何做到这一点吗?

如果内存可用,JTextArea仅用于纯文本显示。对于HTML,必须使用JEditorPane或其子类之一。

Java仅当HTML代码以
开头时才会呈现HTML代码。你应该试一下

"<html>Result: <font color=red>" + negativeValue + "</font></html>"
“结果:“+negativeValue+”

JTextArea
不是为样式化文本设计的组件。如果文本可以全部为一种颜色,请调用

否则,请使用样式化的文本组件,如或。更多信息。关于使用它们,请参见


另外,正如其他人指出的,整个
字符串必须以

开头。您不能在
JTextArea
中使用HTML,但您可以将其与
JEditorPane

一起使用。JTextArea不支持样式化文本区域,为了呈现HTML,您需要一个JEditorPane或JTextPane的实例。看


示例代码

。并且仅当它被放入样式化的文本组件中时。;)