altosui: Add multi-sized icons to all windows
[fw/altos] / altosui / AltosFrame.java
index f8cc4f526e0a0511609e1ab333a955f1d95c96ed..338b363ed0bc099dd107e5eaed27c8389bbf4f35 100644 (file)
@@ -27,12 +27,13 @@ import java.util.*;
 import java.text.*;
 import java.util.prefs.*;
 import java.util.concurrent.*;
+import org.altusmetrum.AltosLib.*;
 
 import libaltosJNI.*;
 
 class AltosFrameListener extends WindowAdapter {
        public void windowClosing (WindowEvent e) {
-               AltosPreferences.unregister_ui_listener((AltosFrame) e.getWindow());
+               AltosUIPreferences.unregister_ui_listener((AltosFrame) e.getWindow());
        }
 }
 
@@ -43,14 +44,37 @@ public class AltosFrame extends JFrame implements AltosUIListener {
                this.pack();
        }
 
+       static final String[] icon_names = {
+               "/altus-metrum-16.png",
+               "/altus-metrum-32.png",
+               "/altus-metrum-48.png",
+               "/altus-metrum-64.png",
+               "/altus-metrum-128.png",
+               "/altus-metrum-256.png"
+       };
+
+       public void set_icon() {
+               ArrayList<Image> icons = new ArrayList<Image>();
+               
+               for (int i = 0; i < icon_names.length; i++) {
+                       java.net.URL imgURL = AltosUI.class.getResource(icon_names[i]);
+                       if (imgURL != null)
+                               icons.add(new ImageIcon(imgURL).getImage());
+               }
+
+               setIconImages(icons);
+       }
+                       
        public AltosFrame() {
-               AltosPreferences.register_ui_listener(this);
+               AltosUIPreferences.register_ui_listener(this);
                addWindowListener(new AltosFrameListener());
+               set_icon();
        }
 
        public AltosFrame(String name) {
                super(name);
-               AltosPreferences.register_ui_listener(this);
+               AltosUIPreferences.register_ui_listener(this);
                addWindowListener(new AltosFrameListener());
+               set_icon();
        }
 }