summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/util/GuiUtil.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/util/GuiUtil.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/util/GuiUtil.java
index 60414f99..cfa02cbd 100644
--- a/enigma-swing/src/main/java/cuchaz/enigma/gui/util/GuiUtil.java
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/util/GuiUtil.java
@@ -16,6 +16,7 @@ import java.io.IOException;
16import java.net.URI; 16import java.net.URI;
17import java.net.URISyntaxException; 17import java.net.URISyntaxException;
18import java.util.Map; 18import java.util.Map;
19import java.util.NoSuchElementException;
19 20
20public class GuiUtil { 21public class GuiUtil {
21 public static final Icon CLASS_ICON = loadIcon("class"); 22 public static final Icon CLASS_ICON = loadIcon("class");
@@ -79,9 +80,16 @@ public class GuiUtil {
79 } 80 }
80 81
81 public static Icon loadIcon(String name) { 82 public static Icon loadIcon(String name) {
83 String path = "icons/" + name + ".svg";
84
85 // Do an eager check for a missing icon since FlatSVGIcon does it later at render time
86 if (GuiUtil.class.getResource(path) == null) {
87 throw new NoSuchElementException("Missing icon: '" + name + "' at " + path);
88 }
89
82 // Note: the width and height are scaled automatically because the FlatLaf UI scale 90 // Note: the width and height are scaled automatically because the FlatLaf UI scale
83 // is set in LookAndFeel.setGlobalLAF() 91 // is set in LookAndFeel.setGlobalLAF()
84 return new FlatSVGIcon("icons/" + name + ".svg", 16, 16, GuiUtil.class.getClassLoader()); 92 return new FlatSVGIcon(path, 16, 16, GuiUtil.class.getClassLoader());
85 } 93 }
86 94
87 public static Icon getClassIcon(Gui gui, ClassEntry entry) { 95 public static Icon getClassIcon(Gui gui, ClassEntry entry) {