Question: How can I change the default icon on application window (java cup) to my own?

window.setIconImage(Toolkit.getDefaultToolkit().getImage("image.gif"));

Full Java code example is here:

/*
 * Copyright (c) Ian F. Darwin, http://www.darwinsys.com/, 1996-2002.
 * All rights reserved. Software written by Ian F. Darwin and others.
 * $Id: LICENSE,v 1.8 2004/02/09 03:33:38 ian Exp $
*/


import java.awt.*;
import java.awt.image.*;

/** MemImage is an in-memory icon showing a Color gradient. */
public class MemImage extends Component {

   /** Demo main program, showing two ways to use it.
    * Create a small MemImage and set it as this Frame's iconImage.
    * Also display a larger version of the same image in the Frame.
    */
   public static void main(String[] av) {
      Frame f = new Frame("MemImage.java");
      f.add(new MemImage());
      f.setIconImage(new MemImage(16,16).getImage());
      f.pack();
      f.setVisible(true);
   }

   /** The image */
   private Image img;
   /** The image width */
   private int w;
   /** The image height */
   private int h;

   /** Construct a MemImage with a default size */
   public MemImage() {
      this(100,100);
   }

   /** Construct a MemImage with a specified width and height */
   public MemImage(int w, int h) {
      this.w = w;
        this.h = h;
        int pix[] = new int[w * h];
        int index = 0;
        for (int y = 0; y < h; y++) {
            int red = (y * 255) / (h - 1);
            for (int x = 0; x < w; x++) {
                int blue = (x * 255) / (w - 1);
                pix[index++] = (255 << 24) | (red << 16) | blue;
            }
        }
        img = createImage(new MemoryImageSource(w, h, pix, 0, w));
      setSize(getPreferredSize());
   }

   /** Getter for the Image */
   public Image getImage() {
      return img;
   }

   public Dimension getPreferredSize() {
      return new Dimension(w, h);
   }
   public void paint(Graphics g) {
      g.drawImage(img, 0, 0, getSize().width, getSize().height, this);
   }
}

No comments:

Post a Comment