public boolean prepareImage(FileSystem fs) throws Exception { boolean result = false; if (isImage()) { if (data == null || !(data instanceof Image)) { String fn = fileName.toLowerCase(); if (fn.endsWith(".bmp")) { // Old edu.xtec.jclic.misc.Bmp replaced by image4j // Bmp bmp=new Bmp(fs.getInputStream(fileName)); // setData(bmp.getImage()); BufferedImage img = BMPDecoder.read(fs.getInputStream(fileName)); setData(Toolkit.getDefaultToolkit().createImage(img.getSource())); } else if (fn.endsWith(".ico")) { java.util.List list = ICODecoder.read(fs.getInputStream(fileName)); int maxs = 0; BufferedImage img = null; int listSize = list.size(); for (int i = 0; i < listSize; i++) { BufferedImage imgtmp = (BufferedImage) list.get(i); int s = imgtmp.getWidth() * imgtmp.getHeight(); if (s >= maxs) { img = imgtmp; maxs = s; } } if (img != null) setData(Toolkit.getDefaultToolkit().createImage(img.getSource())); } else setData(fs.getImageFile(fileName)); } result = true; } return result; }