强制完全重绘Jpanel Java2D

Oll*_*egn 2 java swing awt java-2d graphics2d

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

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

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

没有更新 完善

将coordenate和标签文本更改为"AXIS Y"后(从计时器自动调用重绘) 在此输入图像描述

谢谢.

Pau*_*tha 8

从图像的外观来看,您似乎忘记了调用super.paintComponentpaintComponent方法.这样做是为您重新绘制背景,因此不会留下以前的绘制工件.

@Override
protected voud paintComponent(Graphics g) {
    super.paintComponent(g);
}
Run Code Online (Sandbox Code Playgroud)

注意:为了将来参考,尽管图像给我们提供了一个很好的图片,但最好发布一个Minimal,Complete和Verifiable示例以及这些图像,因此我们不必猜测(受过教育或不受过教育)