title: setImageIcon doesn't set JFrame icon on mac swing window
body: <p>I've already tried loads of code from Stack. For some reason it's just not setting the ImageIcon for my JFrame, the comments are other attempts that have not worked;I avoided calling super so that I could reference the JFrame -- GUIPhotoAlbum <code>extends</code> JFrame; code:</p>
  
  <pre><code>public GUIPhotoAlbum ()
  {
      super("PhotoAlbum");
      ImageIcon img = new ImageIcon("Photos/albumIcon.png");
      this.setIconImage(img.getImage());
  
      /*
      try{
          setIconImage(ImageIO.read(new File("Photos/albumIcon.png")));
      }catch(Exception e){
          System.out.print("Didn't work.");
      }
      */
  
      setSize(875, 625);
      this.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
      this.setLayout(new BorderLayout(5, 5));
  
      initComponents();
      initMenuBar();
  
      initTopPanel();
      add(topPanel, BorderLayout.CENTER);
  
      initBottomPanel();
      add(bottomPanel, BorderLayout.SOUTH);
  
      addListeners();
  
      setLocationRelativeTo(null);
      setVisible(true);
  }
  </code></pre>
  
  <p>EDIT
  I'm running the program like this, where I try to set the ImageIcon of JFrame in the <code>GUIPhotoAlbum()</code> constructor; here's the driver:</p>
  
  <pre><code>public class AlbumDriver
  {   
      public static void main (String [ ] args)
      {
             SwingUtilities.invokeLater 
             (
                   new Runnable()
                   {
                          @Override
                          public void run()
                          {
                              GUIPhotoAlbum pa = new GUIPhotoAlbum();
                          }   
                   }
             ); 
      }
  
  }
  </code></pre>
  
  <p>What am I doing wrong here? 
  PS I've tried <code>BufferedImage</code>, <code>ImageIcon</code>, using <code>File</code>.. and I'm using a Mac</p>