编程语言
首页 > 编程语言> > java – 如何在Applet中显示图像?

java – 如何在Applet中显示图像?

作者:互联网

我有一个图像,我想在小程序中显示它,问题是图像不会显示.我的代码有问题吗?

谢谢…

这是我的代码:

import java.applet.Applet;
import java.awt.*;


 public class LastAirBender extends Applet
 {

 Image aang;

 public void init()
 {

  aang = getImage(getDocumentBase(), getParameter("images.jpg"));
 }

 public void paint(Graphics g) 
 {

    g.drawImage(aang, 100, 100, this);
 }

}

解决方法:

aang = getImage(getDocumentBase(), getParameter("images.jpg"));

我怀疑你做错了什么,这应该是简单的:

aang = getImage(getDocumentBase(), "images.jpg");

HTML / applet元素的内容是什么?图像的名称是什么?图像与HTML在同一目录中吗?

更新1

第二行(已更改)代码将尝试将images.jpg文件加载到与HTML相同的目录中.

当然,您可能需要添加MediaTracker来跟踪图像的加载,因为Applet.getImage()方法立即(现在)返回,但是异步加载(稍后).

更新2

试试这个确切的实验:

将此源保存为${path.to.current.code.and.image} /FirstAirBender.java.

/*
<applet class='FirstAirBender' width=400 height=400>
</applet>
*/
import javax.swing.*;
import java.awt.*;
import java.net.URL;
import javax.imageio.ImageIO;

public class FirstAirBender extends JApplet {

    Image aang;

    public void init() {
        try {
            URL pic = new URL(getDocumentBase(), "images.jpg");
            aang = ImageIO.read(pic);
        } catch(Exception e) {
            // tell us if anything goes wrong!
            e.printStackTrace();
        }
    }

    public void paint(Graphics g) {
        super.paint(g);
        if (aang!=null) {
            g.drawImage(aang, 100, 100, this);
        }
    }
}

然后转到提示并编译代码,然后使用源名称作为参数调用applet viewer.

C:\Path>javac FirstAirBender.java
C:\Path>appletviewer FirstAirBender.java
C:\Path>

您应该在小程序中看到您的图像,从左上角以100×100绘制.

标签:japplet,java,intellij-idea,image
来源: https://codeday.me/bug/20191005/1854988.html