Если вы хотите сохранить ваши значки в качестве статических констант, я бы выделил создание экземпляров объектов ImageIcon в статический метод;
public static final Icon ok = icon("ok.png");
private static Icon icon(String path) {
URL resource = Icons.class.getResource("/icons/" + path);
if (resource == null) {
// Log something...
return null;
}
return new ImageIcon(resource);
}
Таким образом, вы можете контролировать каждый раз, когда что-то выходит из строя, и вам не нужно повторяться в процессе создания экземпляра.
Кроме того, я бы сделал константы окончательными.
Более общим подходом может быть использование отражения для проверки вашего класса Icons и загрузки ресурсов для каждого открытого статического поля Icon в классе. Таким образом, вам нужно будет только объявить новую константу Icon, и соответствующий ресурс будет загружен автоматически на основе имени константы. Оставьте комментарий, если вы хотите больше советов для этого.