java - 如何阻止 Java Applet 中的图像闪烁?

标签 java image applet flicker

我的问题是,每当我使用我刚刚编码的 Java Applet 时,我的 png 图像就会反复闪烁。我已经将线程 sleep 时间更改为更短,但这并不能解决问题。

这是我调用要显示的图像的代码:

    public void init(){
    setSize(854, 480);
    Thread th = new Thread(this);
    th.start();
    offscreen = createImage(854,480);
    d = offscreen.getGraphics();
    addKeyListener(this);
}
public void paint(Graphics g){

    g.clearRect(0, 0, 854, 480);
    g.drawImage(background, 0, 0, this);
    d.drawImage(offscreen, 0, 0, this);
    g.drawOval(x, y, 20, 20);
}
public void update(Graphics g){
    paint(g);
}

如果您愿意,这行代码就是我声明图像的地方

    background = ImageIO.read(this.getClass().getResource("background.png"));

最佳答案

闪烁是由clearRect引起的。

如果您的图像覆盖了整个小程序,您只需删除clearRect调用即可。

如果它们没有覆盖,您需要创建一个离屏图像,对它进行所有绘制,然后 然后通过对小程序的drawImage调用来绘制离屏图像。

关于java - 如何阻止 Java Applet 中的图像闪烁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23701232/

相关文章:

java - 安装 osgi.bundle;用于 Eclipse 的 org.objectweb.asm 7.0.0

java - 为什么 Set 在 webflow 和 Primefaces 中不起作用

java - 如何在Java中使用固定大小的 block 扫描图像?

java - Java 小程序怎么样?有什么缺点?

java - Mac 小程序 UI 上的组合框问题

java - 小程序中的多线程

java - 使用 java 通过套接字进行通信的最佳方式是什么 - 架构

java - 如何让我的 Spring Security SecurityConfig 注册?

javascript - 异步加载图像

c# - 如何将图像添加到我的 .resx 文件中?