/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
package Sirius.util.image;
import java.io.*;
import java.util.*;
import javax.swing.*;
/**
* DOCUMENT ME!
*
* @version $Revision$, $Date$
*/
public class ImageHashMap extends HashMap implements java.io.Serializable {
//~ Constructors -----------------------------------------------------------
/**
* Creates a new ImageHashMap object.
*
* @param images DOCUMENT ME!
*/
public ImageHashMap(final Image[] images) {
super(images.length, 1.0f);
for (int i = 0; i < images.length; i++) {
this.put(images[i]);
}
}
/**
* Creates a new ImageHashMap object.
*
* @param initialCapacity DOCUMENT ME!
* @param loadFactor DOCUMENT ME!
*/
public ImageHashMap(final int initialCapacity, final float loadFactor) {
super(initialCapacity, loadFactor);
}
/**
* Creates a new ImageHashMap object.
*
* @param names DOCUMENT ME!
* @param files DOCUMENT ME!
*/
public ImageHashMap(final String[] names, final String[] files) {
super(names.length, 1.0f);
if (names.length == files.length) {
for (int i = 0; i < names.length; i++) {
this.put(names[i], files[i]);
}
}
}
//~ Methods ----------------------------------------------------------------
/**
* DOCUMENT ME!
*
* @param name DOCUMENT ME!
* @param file DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public ImageIcon put(final String name, final String file) {
final ImageIcon icon = new ImageIcon(new Image(file).getImageData(), name);
super.put(name, icon);
return this.get(name);
}
/**
* DOCUMENT ME!
*
* @param image DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public ImageIcon put(final Image image) {
final ImageIcon icon = new ImageIcon(image.getImageData(), image.getName());
super.put(image.getName(), icon);
return this.get(image.getName());
}
/**
* DOCUMENT ME!
*
* @param file DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public ImageIcon put(final File file) {
final ImageIcon icon = new ImageIcon(new Image(file).getImageData(), file.getName().trim());
super.put(file.getName().trim(), icon);
return this.get(file.getName().trim());
}
/**
* DOCUMENT ME!
*
* @param name DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public ImageIcon get(final String name) {
return (ImageIcon)super.get(name);
}
}