JFrame图像中的Java Applet不显示UP

时间:2013-12-26 12:40:17

标签: java image swing applet jframe

我在JFrame + Applet中为游戏编写了这段代码。

import javax.swing.*;
import java.awt.*;
import java.awt.image.*;
import java.applet.*;
import java.net.URL;

public class myGame extends Applet {
    static myGame k = new myGame();
    JFrame f = new JFrame("myGame");
    URL url;
    Image player;

    public void init(){
        url = this.getDocumentBase();
        player = this.getImage(url,"as.jpeg");//Here is the Image import
    }

    public void paint(Graphics g){
        g.setColor(Color.BLUE);
        g.drawString("HI THERE",200,200);
        g.fillRect(120,130,50,50);
        g.drawImage(player,20,200,this); Here I draw it
    }

    public void start(){
        f.setSize(600,400);
        f.setResizable(false);
        f.setLocationRelativeTo(null);
        f.add(k);
        f.setVisible(true);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    public static void main(String[] args){
        k.start();
    }
}

我看不到图像显示as.jpg。我想将此图像导入为播放器精灵。我的代码没有给出任何错误,只是没有显示图像。

1 个答案:

答案 0 :(得分:2)

1)由于init()未初始化,您忘记调用Applet的Image方法。

2)使用BufferedImage为您的图片加载,如下所示:

public void init() {
    url = getClass().getResource("as.jpeg");
    try {
        player = ImageIO.read(url);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

3)在k.init();方法中k.start();之前添加main