Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
强制完整重画Jpanel Java2D_Java_Swing_Awt_Graphics2d_Java 2d - Fatal编程技术网

强制完整重画Jpanel Java2D

强制完整重画Jpanel Java2D,java,swing,awt,graphics2d,java-2d,Java,Swing,Awt,Graphics2d,Java 2d,我的问题是,我需要制作一个不断更新的GUI,因为我得到的值可以从DB中更改,并且我在图形区域遇到了一些问题 我使用Graphics2D中的Drawline和Drawstring打印数据库中的值,这些字符串和线条移动并更改值,所以我需要调用repaint();使用计时器使它们出现在jpanel中,问题在于重新绘制();不是在绘制之前移除背景中的旧绘制,而是在我完全调整所有更新的大小时 我知道一种清除的方法但是背景颜色也消失了所以, 有没有办法更新jpanel删除旧画并保留deafult背景色 未更

我的问题是,我需要制作一个不断更新的GUI,因为我得到的值可以从DB中更改,并且我在图形区域遇到了一些问题

我使用Graphics2D中的Drawline和Drawstring打印数据库中的值,这些字符串和线条移动并更改值,所以我需要调用repaint();使用计时器使它们出现在jpanel中,问题在于重新绘制();不是在绘制之前移除背景中的旧绘制,而是在我完全调整所有更新的大小时

我知道一种清除的方法但是背景颜色也消失了所以, 有没有办法更新jpanel删除旧画并保留deafult背景色

未更新

将坐标和标签文本更改为“Y轴”后(从计时器自动调用重新绘制)


谢谢。

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

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

注意:为了将来的参考,虽然这些图片给了我们一个很好的图片,但最好是与这些图片一起发布,这样我们就不必猜测(是否受过教育)

看起来你忘记调用
super.paintComponent
。为了获得更好的帮助,@peeskillet您的评论应该是一个答案。我同意你的看法。是的,@peeskillet说的是事实。更重要的是,如果没有代码,我们如何确定您做错了什么?您可以大大改进这个问题。@karlphillip没有看到一些代码,这只是一个有根据的猜测,请考虑提供一个演示您的问题的示例。这将减少混乱和更好的响应