import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class test
{
public static void main(String[] args)
{
Imageframe frame=new Imageframe();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}

class Imageframe extends JFrame
{
public Imageframe()
{
setTitle("title");
setSize(width,height);

ImagePanel panel=new ImagePanel();
Container contentPane=getContentPane();
contentPane.add(panel);
}

public int  width=800;
public int  height=600;
}class ImagePanel extends JPanel
{
public ImagePanel()
{
image=Toolkit.getDefaultToolkit().getImage("name1.jpeg");
}

public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(image,0,0,null);
}

private Image image;
}

解决方案 »

  1.   

    由Toolkit取的图片,在初次显示时并没有完全加载,一般图片都是用显示面板作observer的,这种情况你需要自己作加载程序.
        private final static Component component = new Component() {};
        private final static MediaTracker tracker = new MediaTracker(component); public Image loadImage(Image image) {
    synchronized(tracker) {
        tracker.addImage(image, 0);
        try {
            tracker.waitForID(0, 0);
        } catch (InterruptedException e) {
            System.out.println("INTERRUPTED while loading Image");
        }
        tracker.statusID(0, false);
        tracker.removeImage(image, 0);
    }
    }