各位:
就求一个最简单的显示图片的实例。如就在Frame上显示一张图片。下面是我做的一个程序。但是我发现程序是没有问题,就图片被Draw了以后就看不见了。
请指点!import java.awt.*;
public class DrawImage {
    Frame f;
    Image img;
    Graphics g;
    DrawImage(){
f = new Frame("lichun");
f.setSize(800,600);
f.setVisible(true);
img = f.getToolkit().getImage("c:\\Winter.jpg");
g = f.getGraphics();
g.drawImage(img,0,0,800,600,f);
}
    public static void main(String[] args) {
DrawImage di = new DrawImage();
    }
}另一个基本的问题大家别见笑,像Image, Graphics 这些类都是抽象类,它们也能像一般的类一样声明,但是这的方法没有具体实现,那么这个drawImage()它是调用的那儿的方法呢?

解决方案 »

  1.   

    import java.awt.*;
    import javax.swing.*;
    public class DrawImage {
        Frame f;
        Image img;
    ImageIcon imageIcon;
        Graphics g;
        DrawImage(){
    f = new Frame("lichun");
    f.setSize(800,600);
    f.setVisible(true);
    imageIcon = new ImageIcon("D:\\qqq.gif");
    img = imageIcon.getImage();
    g = f.getGraphics();
    g.drawImage(img,0,0,800,600,f);
    }
        public static void main(String[] args) {
    DrawImage di = new DrawImage();
        }
    }
      

  2.   

    非常感谢楼上的兄弟。我还有个问题没有说清楚,就是我编的程序是在PDA上跑的,我的是IBM 的WSDD,反正它这个环境里面没有javax.swing这个包。
    请问有单独的这种包,但是大小要小,最好2兆以下。
    或者只用java.awt相关的类来实现。先谢谢各位的建议。我再自己研究一下。
      

  3.   

    这个是要覆盖paint()方法的 否则一重绘就没了