在JTextArea中突出显示并更改文本颜色

3
我需要编写一个程序,在其中我需要突出显示和更改JTextArea中句子的颜色。我有一个称为原始文件和摘要文件的文件。原始文件将显示在文本区域框中,我需要在文本区域框中突出显示摘要文件的所有句子。
我希望能够在文本区域中突出显示并着色文本。请问有谁知道如何做到这一点?先感谢您的帮助 :)

你想要只突出显示文本吗?还是给组件设置颜色? - Maroun
主要目的是给句子上色,比如红色等。 - Programmer
如果出现错误,则文本变为红色,否则颜色为黑色或绿色。 - Programmer
2个回答

5
你可以使用JComponent#setForeground(Color) - 但不能用在JTextArea上。它不是为此设计的。相反,使用JEditorPaneJTextPane
在这些组件上,您还可以使用HTML标签,例如:
"<html>My text: <font color=\"blue\">" + myString + "</font></html>"

您可以使用JTextArea#setBackground更改JTextArea背景(如果这是您想要的)。

setForeground() 可以在所有文本组件上使用,但它会改变所有文本,而不仅仅是部分文本。 - camickr

5

你无法更改JTextArea中文本的颜色,你需要使用JTextPane。阅读Swing上的Text Component Features章节以获取一些示例。


先生,有人告诉我关于代码高亮的事情。如何使用代码高亮呢? - Programmer
1
一个荧光笔会突出显示背景,而不是文本。 - camickr
好的,那我怎么只能突出文本...只需要突出文本即可。 - Programmer
我给了你一个Swing教程的链接。阅读教程并下载示例代码,然后尝试运行代码。 - camickr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接