Added IconUtil utility class
This commit is contained in:
parent
2127018b58
commit
e93cd8761f
31
src/main/java/envoy/client/ui/IconUtil.java
Normal file
31
src/main/java/envoy/client/ui/IconUtil.java
Normal file
@ -0,0 +1,31 @@
|
||||
package envoy.client.ui;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import java.util.EnumMap;
|
||||
import java.util.EnumSet;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
/**
|
||||
* Project: <strong>envoy-client</strong>
|
||||
* File: <strong>IconUtil.java</strong>
|
||||
* Created: <strong>16.03.2020</strong>
|
||||
*
|
||||
* @author Kai S. K. Engelbart
|
||||
* @since Envoy v0.1-beta
|
||||
*/
|
||||
public class IconUtil {
|
||||
|
||||
private IconUtil() {}
|
||||
|
||||
public BufferedImage load(String path) throws IOException { return ImageIO.read(IconUtil.class.getResourceAsStream(path)); }
|
||||
|
||||
public <T extends Enum<T>> EnumMap<T, BufferedImage> loadByEnum(Class<T> enumClass) throws IOException {
|
||||
var icons = new EnumMap<T, BufferedImage>(enumClass);
|
||||
var path = "/icons/" + enumClass.getSimpleName().toLowerCase() + "/";
|
||||
for (var e : EnumSet.allOf(enumClass))
|
||||
icons.put(e, load(path + e.toString().toLowerCase() + ".png"));
|
||||
return icons;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user