package org.limewire.ui.swing.components;
import java.awt.Image;
import java.io.File;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import org.jdesktop.application.Resource;
import org.limewire.ui.swing.util.GuiUtils;
public class LimeIconInfo {
@Resource private Icon limeIcon;
@Resource private ImageIcon lime16;
@Resource private ImageIcon lime32;
@Resource private ImageIcon lime48;
@Resource private String limeFrameIconLocation;
public LimeIconInfo() {
GuiUtils.assignResources(this);
}
public Icon getIcon() {
return limeIcon;
}
/**
* Returns a list of varying size icons similar to how
* an .ico file is built.
*/
public List<? extends Image> getIconImages() {
ArrayList<Image> images = new ArrayList<Image>();
images.add(lime16.getImage());
images.add(lime32.getImage());
images.add(lime48.getImage());
return images;
}
public String getIconLocation() {
return limeFrameIconLocation;
}
public Image getImage() {
return ((ImageIcon)limeIcon).getImage();
}
public File getIconFile() {
return new File(
URI.create(ClassLoader.getSystemResource(limeFrameIconLocation).getFile()).getPath())
.getAbsoluteFile();
}
}