我在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。我想将此图像导入为播放器精灵。我的代码没有给出任何错误,只是没有显示图像。
答案 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
。