强制完全重绘Jpanel Java2D

时间:2014-10-21 01:23:45

标签: java swing awt graphics2d java-2d

我的问题是我需要制作一个不断更新的GUI,我会从数据库中获得可以改变的值,并且我在图形区域遇到了一些问题。

我正在使用来自Graphics2D的Drawline和Drawstring打印数据库中找到的值,这个字符串和行移动并改变值,所以我需要调用repaint();用一个计时器让它们在jpanel中运行,问题是repaint();不是在绘画之前删除背景中的旧画,而是在完全调整所有更新时。

我知道一种清除方法,但背景颜色也消失了, 有一种方法可以更新jpanel删除旧画并保持沉闷的背景颜色吗?

未更新 perfect

将coordenate和标签文本更改为“AXIS Y”后(从计时器自动调用重绘) enter image description here

感谢。

1 个答案:

答案 0 :(得分:8)

从图片的外观来看,您似乎忘记在super.paintComponent方法中调用paintComponent。这样做是为你重新绘制背景,所以不会留下以前的绘画工件。

@Override
protected voud paintComponent(Graphics g) {
    super.paintComponent(g);
}

注意:为了将来参考,尽管图片给我们提供了一张好照片,但最好将 a Minimal, Complete, and Verifiable example与这些图片一起发布,因此我们不要必须制作猜测(有教育与否)