JAVA:画像読み込みについて

http://sites.google.com/site/gorogoronyan/Home/java-2/testimagedisp11java

http://codezine.jp/article/detail/2543?p=4

http://www.javainthebox.net/laboratory/graphics/ImageLoading/ImageLoading.html

などを見て、画像読み込みを行っていたのだが、なぜか、//javax.imageio.ImageIOで画像ファイルを読むしか上手くいかない…

//1)javax.swing.ImageIcon で画像ファイルを読む。
static Image readImage1(String path){
ImageIcon icon = new ImageIcon(path);
return icon.getImage();
}

//2)java.awt.Toolkit で画像ファイルを読む。
static Image readImage2(String path){
Toolkit kit = Toolkit.getDefaultToolkit();
return kit.getImage(path); //参照共有、使いまわし
}
がつかえない


package takehiroyamada.IPS.Client;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class IPS_Client_ver2 extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1L;

/*
*マップ関係
*/
static String mapimagepath = "5Fgraywall.jpg";
Graphics g;

public IPS_Client_ver2(){
this.setSize(700, 700);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MyPanel panel = null;
try {
panel = new MyPanel();
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
this.add(panel,BorderLayout.CENTER);
this.setVisible(true);
}

public static void main(String[] args) {

new IPS_Client_ver2();

}

}

class MyPanel extends JPanel {
/**
*
*/
private static final long serialVersionUID = 1L;

Image image;

public MyPanel() throws IOException{
image = readImage(""+IPS_Client_ver2.mapimagepath+"");
}

public void paintComponent(Graphics g){
if (image != null){
g.drawImage(image, 0, 0, this);
}
}

//javax.imageio.ImageIOで画像ファイルを読む
static BufferedImage readImage(String path) throws IOException {
return ImageIO.read( new File(path));
}

}