我正在使用GUI实现SNMP侦听器。 GUI应该根据其严重性以不同颜色打印解析的SNMP陷阱。为此,我使用了JTextPane。添加新字符串时,JTextPane中的彩色文本变得杂乱
现在程序运行正常,我可以添加不同颜色的陷印。
但是颜色变化和文字变得混乱,所以它不可读,有时在追加新字符串时。例如,一些新添加的行采用旧的附加行的颜色,反之亦然。此外,我使用的红色变成深红色,并且文字“污迹斑斑”,即文字没有尖锐的线条。调整寡妇大小时,这些问题会消失,但在滚动或附加新信息时会回来。
我试图重新绘制,我曾尝试添加背景颜色,但它没有区别。
其他人有这个问题吗?
这是我使用的文本追加代码:
private void appendToPane(String msg, JTextPane p, Color c) {
Style style = p.addStyle("I am a style", null);
StyleConstants.setForeground(style, c);
StyledDocument doc = p.getStyledDocument();
try {
doc.insertString(doc.getLength(), msg, style);
} catch (Exception e) {
System.err.println(e);
}
}
这是工作,唯一的问题是,滚动或追加新的文本时,该文本被搞砸。 随着搞砸我的意思是:
- 一排的上或下半消失(离开半不可读字母)
- 文本部分改变颜色(红色变成了一段段暗红色)
- 两行改变颜色与彼此。 (绿色部分得到一个红色行,红色部分得到一个绿色行)
- 字母看起来模糊不清(字母不具有锐利的线条)
调整窗口大小时,所有这些问题消失,但再次出现滚动时或追加新的文字。
是的,没有区别 – Atonic