【发布时间】:2016-02-05 01:46:17
【问题描述】:
我正在尝试更改 TextArea 或 TextPane 甚至任何其他中突出显示的颜色。
请注意,我正在寻找更改颜色:
而不是文字。
我还查看了JTextArea 的setHighlighter() 函数,但似乎我需要输入一个匿名的Highlighter 类,我完全不知道如何实现所有覆盖。
jta.setHighlighter(new Highlighter() {
@Override
public void removeHighlight(Object tag) {
// TODO Auto-generated method stub
}
@Override
public void removeAllHighlights() {
// TODO Auto-generated method stub
}
@Override
public void paint(Graphics g) {
// TODO Auto-generated method stub
}
@Override
public void install(JTextComponent c) {
// TODO Auto-generated method stub
}
@Override
public Highlight[] getHighlights() {
// TODO Auto-generated method stub
return null;
}
@Override
public void deinstall(JTextComponent c) {
// TODO Auto-generated method stub
}
@Override
public void changeHighlight(Object tag, int p0, int p1)
throws BadLocationException {
// TODO Auto-generated method stub
}
@Override
public Object addHighlight(int p0, int p1, HighlightPainter p)
throws BadLocationException {
// TODO Auto-generated method stub
return null;
}
});
【问题讨论】:
-
您是否尝试过在
paint(Graphics g)方法中进行设置?喜欢g.setColor(Color.color); -
刚试过,他们只突出显示文本。他们也不会在您取消突出显示文本后取消突出显示它
-
试试下面的答案应该对你有更多帮助
标签: java swing highlight jtextarea jtextpane