I have a colour image that is been stored in a 3D array and now I want to display this data or the image on to a JPanel. My code read function is as follows :
public void readImage(String filename) throws Exception {
    String filenameExtension = filename.substring(filename.lastIndexOf('.')+1);
    File fileImage = FileChosen;
    Iterator imageReaders = ImageIO.getImageReadersBySuffix(filenameExtension);
    ImageReader imageReader;
    if(imageReaders.hasNext())
        imageReader = (ImageReader)imageReaders.next();
    else
        throw new IOException("Unsupported image format");
    FileImageInputStream imageInputStream = new FileImageInputStream(fileImage);
    imageReader.setInput(imageInputStream);
    ImgWidth = imageReader.getWidth(0);
    ImgHeight = imageReader.getHeight(0);
    BufferedImage bufImage = imageReader.read(0);
    imageInputStream.close();
    WritableRaster wRaster = bufImage.getRaster();
    //int numBands = wRaster.getNumBands();
            System.out.println(ImgWidth);
            System.out.println(ImgHeight);
    imageArray = (new double[ImgHeight][ImgWidth][ColourLevels]);
    // get the samples and normalize to between 0 and 1
    for(int row = 0; row < ImgHeight; row++)
        for(int col = 0; col < ImgWidth; col++)
            for(int level = 0; level < ColourLevels; level++)
                imageArray[row][col][level] = (wRaster.getSample((col), (row), level) / 255.0);
} // end read method`
Now I want to print the data stored in the imageArray[][][] in to a panel, how can I do that?