UCWare.com

UCWare IconTools for the Java platform

How to read favicon.ico from Java with UCWare IconTools?

If you need to read a favicon.ico from Java, UCWare IconTools for the Java platform may come in handy.

UCWare IconTools lets you read favicon.ico into memory with just one line of code:

    Icon[] icons = IconTools.readIcons(new URL("http://www.ucware.com/favicon.ico"));
    

As the result, you get an array of objects that implement the javax.swing.Icon interface. javax.swing.Icon allows for using icons throughout Swing (for instance, you can set icons on JButtons), and also in Java2D for obtaining BufferedImages, and so on.

The following code snippet will display all icons from the URL as buttons:

    contentPane = (JPanel) getContentPane();
    pane.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT));
    setTitle("DemoReader");

    URL url = new URL("http://www.ucware.com/favicon.ico");
    Icon[] ic = IconTools.readIcons(url);

    setTitle("DemoReader - " + url.toExternalForm());


    for (int i = 0; i < ic.length; i++)
    {
        Icon icon = ic[i];
        IcoIcon iic = (IcoIcon) icon;
        String inf = iic.getIconWidth()+"x"+iic.getIconHeight()
                     +"@"+iic.getBiBitCount();
        pane.add(new JButton(inf, icon));
    }
    contentPane.add(pane);
    
Here is the on-screen result:

Javadoc documentation for UCWare IconTools is available here.

See also: Obtaining UCWare IconTools.