package mainGame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JFrame;
public class draw1 extends JFrame{
Image a;
public draw1(){
Toolkit toolkit=this.getToolkit();
toolkit.getImage("Circle_black.png");
toolkit.prepareImage(a, 200, 200, this);
}
public void paint(Graphics g)
{
g.drawImage(a, 200, 200, 50, 50, this);
}
public static void main(String[] args)
{
draw1 f=new draw1();
f.setSize(300, 200);
f.setVisible(true);
}
}
Toolkit 类不是你这样得到的,它是一个抽象的类,要这样得Toolkit toolkit=Toolkit.getDefaultToolkit();然后创建图片时候是 a=toolkit.getImage("Circle_black.png");我给你写一个正确的好了:
//----------------------------------------------------------
public class draw1 extends JFrame{
Toolkit toolkit=Toolkit.getDefaultToolkit();
Image a=toolkit.getImage("Circle_black.png");
public draw1(){
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(300, 200);
this.setVisible(true);
}
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawImage(a, 200, 200, 50, 50, this);
}
public static void main(String[] args)
{
new draw1();
}
}
toolkit.getImage(...) 返回值是Image,这里应该是 a吧
另外g.drawImage(...) 里面的 200 200 是图片左上角的位置,你的frameSize 是300 200,你的图片画在frame的外面了。g.drawImage(图片,左上X坐标,左上Y坐标,图片宽度,图片长度,observer)。
Image a;
toolkit.getImage("Circle_black.png");
应该是 a=toolkit.getImage("Circle_black.png");
吧