updates
[debian/openrocket] / src / net / sf / openrocket / util / Icons.java
index 96a32b7ba4e6337a0527e21c51358bc7533d46cf..69a7b8a52f99bee796d2b6910783c3e10624ed2e 100644 (file)
@@ -1,5 +1,6 @@
 package net.sf.openrocket.util;
 
+import java.net.URL;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
@@ -18,11 +19,11 @@ public class Icons {
        public static final Map<Simulation.Status, Icon> SIMULATION_STATUS_ICON_MAP;
        static {
                HashMap<Simulation.Status, Icon> map = new HashMap<Simulation.Status, Icon>();
-               map.put(Simulation.Status.NOT_SIMULATED, new ImageIcon("pix/spheres/gray-16x16.png", "Not simulated"));
-               map.put(Simulation.Status.UPTODATE, new ImageIcon("pix/spheres/green-16x16.png", "Up to date"));
-               map.put(Simulation.Status.LOADED, new ImageIcon("pix/spheres/yellow-16x16.png", "Loaded from file"));
-               map.put(Simulation.Status.OUTDATED, new ImageIcon("pix/spheres/red-16x16.png", "Out-of-date"));
-               map.put(Simulation.Status.EXTERNAL, new ImageIcon("pix/spheres/blue-16x16.png", "Imported data"));
+               map.put(Simulation.Status.NOT_SIMULATED, loadImageIcon("pix/spheres/gray-16x16.png", "Not simulated"));
+               map.put(Simulation.Status.UPTODATE, loadImageIcon("pix/spheres/green-16x16.png", "Up to date"));
+               map.put(Simulation.Status.LOADED, loadImageIcon("pix/spheres/yellow-16x16.png", "Loaded from file"));
+               map.put(Simulation.Status.OUTDATED, loadImageIcon("pix/spheres/red-16x16.png", "Out-of-date"));
+               map.put(Simulation.Status.EXTERNAL, loadImageIcon("pix/spheres/blue-16x16.png", "Imported data"));
                SIMULATION_STATUS_ICON_MAP = Collections.unmodifiableMap(map);
        }
        
@@ -34,23 +35,33 @@ public class Icons {
        }
 
 
-       public static final Icon FILE_NEW = new ImageIcon(ClassLoader.getSystemResource("pix/icons/document-new.png"), "New document");
-       public static final Icon FILE_OPEN = new ImageIcon(ClassLoader.getSystemResource("pix/icons/document-open.png"), "Open document");
-       public static final Icon FILE_SAVE = new ImageIcon(ClassLoader.getSystemResource("pix/icons/document-save.png"), "Save document");
-       public static final Icon FILE_SAVE_AS = new ImageIcon(ClassLoader.getSystemResource("pix/icons/document-save-as.png"), "Save document as");
-       public static final Icon FILE_CLOSE = new ImageIcon(ClassLoader.getSystemResource("pix/icons/document-close.png"), "Close document");
-       public static final Icon FILE_QUIT = new ImageIcon(ClassLoader.getSystemResource("pix/icons/application-exit.png"), "Quit OpenRocket");
+       public static final Icon FILE_NEW = loadImageIcon("pix/icons/document-new.png", "New document");
+       public static final Icon FILE_OPEN = loadImageIcon("pix/icons/document-open.png", "Open document");
+       public static final Icon FILE_SAVE = loadImageIcon("pix/icons/document-save.png", "Save document");
+       public static final Icon FILE_SAVE_AS = loadImageIcon("pix/icons/document-save-as.png", "Save document as");
+       public static final Icon FILE_CLOSE = loadImageIcon("pix/icons/document-close.png", "Close document");
+       public static final Icon FILE_QUIT = loadImageIcon("pix/icons/application-exit.png", "Quit OpenRocket");
        
-       public static final Icon EDIT_UNDO = new ImageIcon(ClassLoader.getSystemResource("pix/icons/edit-undo.png"), "Undo");
-       public static final Icon EDIT_REDO = new ImageIcon(ClassLoader.getSystemResource("pix/icons/edit-redo.png"), "Redo");
-       public static final Icon EDIT_CUT = new ImageIcon(ClassLoader.getSystemResource("pix/icons/edit-cut.png"), "Cut");
-       public static final Icon EDIT_COPY = new ImageIcon(ClassLoader.getSystemResource("pix/icons/edit-copy.png"), "Copy");
-       public static final Icon EDIT_PASTE = new ImageIcon(ClassLoader.getSystemResource("pix/icons/edit-paste.png"), "Paste");
-       public static final Icon EDIT_DELETE = new ImageIcon(ClassLoader.getSystemResource("pix/icons/edit-delete.png"), "Delete");
+       public static final Icon EDIT_UNDO = loadImageIcon("pix/icons/edit-undo.png", "Undo");
+       public static final Icon EDIT_REDO = loadImageIcon("pix/icons/edit-redo.png", "Redo");
+       public static final Icon EDIT_CUT = loadImageIcon("pix/icons/edit-cut.png", "Cut");
+       public static final Icon EDIT_COPY = loadImageIcon("pix/icons/edit-copy.png", "Copy");
+       public static final Icon EDIT_PASTE = loadImageIcon("pix/icons/edit-paste.png", "Paste");
+       public static final Icon EDIT_DELETE = loadImageIcon("pix/icons/edit-delete.png", "Delete");
 
-       public static final Icon ZOOM_IN = new ImageIcon(ClassLoader.getSystemResource("pix/icons/zoom-in.png"), "Zoom in");
-       public static final Icon ZOOM_OUT = new ImageIcon(ClassLoader.getSystemResource("pix/icons/zoom-out.png"), "Zoom out");
+       public static final Icon ZOOM_IN = loadImageIcon("pix/icons/zoom-in.png", "Zoom in");
+       public static final Icon ZOOM_OUT = loadImageIcon("pix/icons/zoom-out.png", "Zoom out");
 
-       public static final Icon PREFERENCES = new ImageIcon(ClassLoader.getSystemResource("pix/icons/preferences.png"), "Preferences");
+       public static final Icon PREFERENCES = loadImageIcon("pix/icons/preferences.png", "Preferences");
 
+       
+       
+       private static ImageIcon loadImageIcon(String file, String name) {
+               URL url = ClassLoader.getSystemResource(file);
+               if (url == null) {
+                       System.err.println("Resource "+file+" not found!  Ignoring...");
+                       return null;
+               }
+               return new ImageIcon(url, name);
+       }
 }