java如何更改JTextArea中的文本颜色?
我需要知道如何做到这一点:
比如说:我在JTextArea
中有一个这样的代码:
LOAD R1, 1
DEC R1
STORE M, R1
ADD R4, R1,8
我想把LOAD
、DEC
、STORE
和ADD
的颜色改成蓝色
R1
,R4
为绿色
M
至红色
数字变成橙色
如何更改此文本的颜色? 这些文本来自记事本,也可以直接键入文本区域
你可以在下面搜索框中键入要查询的问题!
我需要知道如何做到这一点:
比如说:我在JTextArea
中有一个这样的代码:
LOAD R1, 1
DEC R1
STORE M, R1
ADD R4, R1,8
我想把LOAD
、DEC
、STORE
和ADD
的颜色改成蓝色
R1
,R4
为绿色
M
至红色
数字变成橙色
如何更改此文本的颜色? 这些文本来自记事本,也可以直接键入文本区域
# 1 楼答案
意思是娱乐。应用于单个字符的设置适用于
JTextArea
中的整个文档。但是JTextPane
或JEditorPane
你可以选择,根据你的喜好给你的String Literals
上色。在JTextPane的帮助下,您可以这样做:以下是输出:
# 2 楼答案
对于一些基本颜色(使用JTextArea可以做的唯一事情),您可以将背景和前景颜色更改为类似的颜色,但这将为所有文本着色:
结果是:
# 3 楼答案
由于可以对
JTextArea
使用Highlighter
(或Html),因此此API实现了简化的手写文本选项与
JTextPane
相比,有更多可变的选项,例如荧光笔、带Html或不带Html、字体,或者通过使用Html或直接将另一个JComponent放入其中(也知道JTextArea,但是…)# 4 楼答案
在JTextArea中不能有不同颜色的不同字符(至少在没有复杂的黑客攻击的情况下)。改用JTextPane或JEditorPane。然后您可以访问它的
StyledDocument
:已编辑:更改为直接调用
getStyledDocument
,而不是强制转换getDocument()的结果在
StyledDocument
上调用setCharacterAttributes
以更改单个字符或子字符串的颜色# 5 楼答案
Use可以将JEditorPane与HTML一起使用,也可以编写为元素着色的自定义文档
# 6 楼答案
只是另一种选择。有关理论,请参见其他答案
这一个在添加文本时创建属性,而不是像nicecow的答案那样派生样式。功能是相同的,因为窗格将把属性与以前使用的任何属性合并
[编辑]更改回
insertString
而不是replaceSelection
,因为后者在窗格不可编辑时失败