Java-Gaming.org Java4K winners: [ by our judges | by the community ]         
Featured games (67)
games approved by the League of Dukes
Games in Showcase (∞)
games submitted by our members



News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  Print  
  Unsigned Web start Image Loader  (Read 951 times)
0 Members and 1 Guest are viewing this topic.
Offline zoto

Full Member
**

Posts: 234
Medals: 7



« on: 2009-06-11 20:30:12 »

I have this code for loading images from within a web start Jar. I'm wondering how good it is and what I can do to make it better.

The last function loadImg is really what I have problems with. I first load the image as an ImageIcon to not raise a security exception. Secondly I draw that Image into a BufferedImage because I can't cast it directly, as it's giving me a ToolkitImage instead of an Image.
Updated with information gained from another thread on JGO.

Usage is :
BufferedImage img = ImageLoader.loadImage("data/images/", "test.png");
or
BufferedImage img = ImageLoader.loadImage("test.png");
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.util.HashMap;
import javax.swing.ImageIcon;


public class ImageLoader {
   static final HashMap<String, BufferedImage> imgStore = new HashMap<String, BufferedImage>();
   static final ClassLoader classLoader = ImageLoader.class.getClassLoader();

   static public BufferedImage loadImage(String fileName){
      return loadImage("", fileName);
   }
   
   static public BufferedImage loadImage(String folderName, String fileName){
      BufferedImage retImg = imgStore.get(fileName);
      if(retImg == null){
         retImg = loadImg(folderName+fileName);
         imgStore.put(fileName, retImg);
      }
      return retImg;
   }

   static private BufferedImage loadImg(String filename) {
      try{
         return ImageIO.read(ImageLoader.class.getResourceAsStream(filename));
      }catch(Exception e){
         System.out.println("Error loading: "+filename);
         e.printStackTrace();
      }
      return null;
   }


}
Pages: [1]
  Print  
 
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.082 seconds with 20 queries.