java - 强制完全重绘 Jpanel Java2D

标签 java swing awt graphics2d java-2d

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

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

我知道一种清除方法,但背景颜色也消失了, 有没有办法更新 jpanel 删除旧画并保留默认背景颜色?

未更新 perfect

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

谢谢。

最佳答案

从图像的外观来看,您似乎只是忘记在 paintComponent 方法中调用 super.paintComponent 。它的作用是为您重新绘制背景,这样就不会留下以前的绘制痕迹。

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

注意:为了将来的引用,虽然这些图像给了我们很好的图片,但最好还是发布 a Minimal, Complete, and Verifiable example以及这些图像,因此我们不必进行猜测(受过教育或未受过教育)

关于java - 强制完全重绘 Jpanel Java2D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26477521/

相关文章:

java - 在 Java 中从子窗口更改父窗口中的内容

java - JOptionPane 并从输入中获取文本

java - 如何制作TextArea和列表填充面板?

java - Android 手机作为实时 MJPEG 视频服务器

java - 如何将 setText 设置为所有 SeekBar 进度值的总和?

java - 向正在运行的进程发送消息

java - 文本字段抛出错误

java - 确定哪个面板被压入以及哪个面板被释放

java使用机器人类发送击键

java - 在 Java 中切换只读