想学着写一个下棋的程序,没想到第一步在窗口上画个棋盘就卡了壳,用drawImage显示棋盘图片的时候总是返回空值。详细代码如下,大家帮忙查一查import javax.swing.*;
import java.awt.*;
import javax.imageio.*;
import java.io.*;
import java.awt.Graphics;//棋盘类
public class ChessTable extends JFrame{
    ChessPanel chessTable;
    File imageFile;
    public ChessTable (){
        setSize(500,500);
        ChessPanel chessPanel = new ChessPanel();
        Container container = getContentPane();
        container.add(chessPanel);
    }
    //棋盘面板
    class ChessPanel extends JPanel {
        Image image; 
        File imageFile;   --图片文件
        //读入棋盘
        public ChessPanel() {
            long length;
            try {
               imageFile = new File("c:\\aa.bmp"); 
               length = imageFile.length();        --记录文件大小,实际值为589878bytes
               System.out.println("length="+length);
               image = ImageIO.read(imageFile);    --该句返回空值
            } catch (IOException ex) {
            }
            if (image == null) {
                System.out.println("null");
            }
            else{
                System.out.println("not null");
            }
        };
        //画出棋盘
        public void paintComponent(Graphics g){
            super.paintComponent(g);
            if (image == null) return;
            if (g.drawImage(image,0,0,null)) {
                System.out.println("true");
            } 
            else{
                System.out.println("false");
            }
        }
    }
    public static void main (String[] args){
        ChessTable chessTable = new ChessTable();
        chessTable.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        chessTable.show();
    }
}执行后返回:
i=589878
nulli=589878 表示已经正确读入了棋盘图片imageFile,之后紧接的ImageIO.read(imageFile)怎么就出错了呢?
百思不解