gpt4 book ai didi

java - 帮助在java小程序中显示图像

转载 作者:行者123 更新时间:2023-12-02 08:11:27 25 4
gpt4 key购买 nike

下面是我编写的一个简单的小程序,用于显示单张图片。代码编译良好,小程序会加载,但图像文件永远不会绘制到小程序中。我认为它无法使用 this.getImage(appletBaseURL, filename); 找到图像我将图像文件存储在与该包关联的所有文件夹中,但它仍然没有绘制它。

    import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;


public class imageTest extends Applet {

private Image spaceShip;
private final String filename = "spaceshipcropped.jpg";
public void init() {

java.net.URL appletBaseURL = getCodeBase();
File file = new File("spaceshipcropped.jpg");
try {
spaceShip = ImageIO.read(file);
} catch (IOException ex) {
Logger.getLogger(imageTest.class.getName()).log(Level.SEVERE, null, ex);
}
}

public void paint(Graphics g)
{
Graphics2D g2d = (Graphics2D)g;
g2d.drawImage(spaceShip, 0,0, null);
}

public void update(Graphics g) {
repaint();
}
}

在我进行这些更改后,它起作用了。非常感谢大家的帮助!

最佳答案

  1. 不要在小程序中调用setSize()。大小由 HTML 设置。
  2. 在这个世纪不要使用 AWT 进行编码。
  3. 传递给 Swing 组件的对象应该是一个 Graphics2D 对象,但我从未听说过 Applet 也有同样的说法。您正在检查 Java 控制台吗?
  4. 该代码有一些多余的导入。
  5. paint 方法中,检查图像是否为 null
  6. getImage(URL,String) 方法的 JavaDocs 声明“无论图像是否存在,此方法总是立即返回。” 要么添加 MediaTracker 或在第三个千年加入我们并使用 ImageIO.read(URL) - 它会阻塞,直到图像加载完毕。

我希望修复第 6 点可以解决问题,但也要注意其他 5 点。

关于java - 帮助在java小程序中显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7364305/

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