gpt4 book ai didi

java双缓冲区不删除

转载 作者:行者123 更新时间:2023-12-01 22:56:34 26 4
gpt4 key购买 nike

我正在做一个双缓冲项目。当我绘画时,它只是在旧图层的顶部绘画,但我需要删除它们。 Repaint() 不起作用,但我猜答案同样简单。

有什么想法吗?

添加了代码,现在它消失了,但它删除了背景颜色。

 public void paint(Graphics g)
{

super.paint(buffer);


for(Projectile p: projectiles)
drawRectImage(buffer, p.image, p.getRectangle());

}

最佳答案

建议:

  • 如果这是 Swing GUI,则不要重写 Paint 方法,而是重写 paintComponent 方法。这不会帮助您解决当前的问题,但有助于防止将来出现问题,包括边框和子组件绘制问题。
  • 如果是 Swing(您再次不说),请确保您的绘画组件扩展 JPanel,而不是 JComponent,因为 JPanel 是不透明的,并在其 super 方法中填充其背景矩形。
  • 如果不是 Swing,那么您应该强烈考虑从 AWT 更改为 Swing。
  • 如果您仍然遇到困难,那么是的,您需要创建并发布 minimal example program 。请查看链接。

关于java双缓冲区不删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23941947/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com