我想在Frame框架中显示图片,代码如下,可是运行后发现并没有图片显示.请问应该如何修改啊?谢谢...import java.awt.Graphics;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import java.awt.Toolkit;
import java.awt.Color;
import java.awt.Image;
import java.awt.Frame;public class smp115 {
public static void main(String[] args) {
smp115frm frm = new smp115frm();
}
}class smp115frm extends Frame{
Image img; smp115frm() {
setSize(370, 305);
setBackground(Color.cyan);
setVisible(true);
Toolkit tl = getToolkit();
img = tl.getImage("smp114.jpg");        //smp114.jpg放于src文件夹中,好像没有被读取出来导致下面-1 addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
repaint();
} public void paint(Graphics g) {
int wt = img.getWidth(this);            //输出为-1
int ht = img.getHeight(this);           //输出为-1
g.drawImage(img, 25, 45, wt / 2, ht / 2, this);
System.out.println(wt + "    " + ht);
}

}

解决方案 »

  1.   

    我一般这样写,那个Toolkit没怎么玩过~ JPanel head =  new JPanel(){
    public void paint(Graphics g) {
    super.paint(g);
    String head = "."+File.separator+"img"+File.separator+"head.jpg";
    Image ico = new ImageIcon(head).getImage();
    g.drawImage(ico, 0, 0, 326, 50, this);
    }
    };
      

  2.   

    把你的smp114.jpg放到存class的文件夹中
      

  3.   


    我试了你的方法,仍然没有图片显示!汗...
    2楼,bin里也有同样的一个图片文件
      

  4.   

    我一写图片的绝对路径的话就可以了.我想应该是路径有错.相对路径的话图片放在了src里了,
    所以这句话我改为img = tl.getImage("smp114.jpg");
    img = tl.getImage("src\\smp114.jpg");  就可以了.