我的imageicon无法显示图片,程序白板,还退步出去了,求解啊o. o!

package image;

import java.awt.*;
import javax.swing.*;

//运行白板关也关不了
public class ImageTest {
public static void main(String args[])
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
JFrame frame=new ImageFrame();
frame.setTitle("ImageTest");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}

}
class ImageFrame extends JFrame
{
public ImageFrame()
{
add(new ImageComponent());
pack();
}
}
class ImageComponent extends JComponent
{
private static final int DEFAULT_WIDTH=3000;
private static final int DEFAULT_HEIGHT=2000;

private Image image;

public ImageComponent()
{
    image=new ImageIcon("test.jpg").getImage();
}


public void paintComponent(Graphics g)
{
    if (image==null) return;//什么意思,返回什么;
    int imageWidth=image.getWidth(this);//观察者这块是什么代码内容
    int imageHeight=image.getHeight(this);

    //draw image in the upper left corner
    g.drawImage(image,0,0,null);
    //tile the image across the component
    for(int i=0;i*imageWidth<=getWidth();i++)
        for(int j=0;j*imageHeight<=getHeight();j++)
            if(i+j>0)
                g.copyArea(0, 0, imageWidth, imageHeight, i*imageWidth, j*imageHeight);

}
public Dimension getPreferredSize()
{
    return new Dimension(DEFAULT_WIDTH,DEFAULT_HEIGHT);
}

}

if (image==null)
看看图片是不是为空

if (image==null) return;
如果image为空,则推出这个方法,什么都不干;
int imageWidth=image.getWidth(this);
获取图片的宽度