Поддерживает ли swing файлы *.ico?

Настройка изображения для действия качания:

Action action = ...
// ImageIcon icon = new ImageIcon(getClass().getResource("/icon.ico"));
ImageIcon icon = new ImageIcon(getClass().getResource("/icon_16x16.png"));
action.putValue(Action.SMALL_ICON, icon);

*.ico файлы не отображаются, только png/jpg.
Это по дизайну?

Ответ 1

Поддерживаемые типы могут изменяться производителем и версией, хотя вы можете обычно рассчитывать на PNG, JPG и GIF.

import javax.imageio.ImageIO;

public class QuickTest {

    public static void main(String[] args) throws Exception {
        String[] types = ImageIO.getReaderFileSuffixes();
        System.out.println("This JRE supports image types:");
        for (String type : types) {
            System.out.println("Type: " + type);
        }
    }
}

Вывод здесь/сейчас

This JRE supports image types:
Type: bmp
Type: jpg
Type: wbmp
Type: jpeg
Type: png
Type: gif

Ответ 2

Естественно, нет.

Как бы то ни было, вы можете взглянуть на image4j, который обеспечивает (IMHO) отличную поддержку для них.