From 99fb631e66ba2c1389c48f053a05af5bce97f4e6 Mon Sep 17 00:00:00 2001 From: shanebeee Date: Sun, 29 Sep 2024 23:27:18 -0700 Subject: [PATCH] Icon - icon code cleanup --- .../com/shanebeestudios/mcdeob/app/App.java | 10 ++-- .../com/shanebeestudios/mcdeob/app/Icon.java | 50 ++++++------------- 2 files changed, 19 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/shanebeestudios/mcdeob/app/App.java b/src/main/java/com/shanebeestudios/mcdeob/app/App.java index 25f7933..5454d52 100644 --- a/src/main/java/com/shanebeestudios/mcdeob/app/App.java +++ b/src/main/java/com/shanebeestudios/mcdeob/app/App.java @@ -30,14 +30,12 @@ public App() { } private void init() { - try { + if (Util.isRunningMacOS()) { // If we're running on Mac, set the logo - Taskbar taskbar = Taskbar.getTaskbar(); - assert Icon.DOCK_LOGO_1024 != null; - taskbar.setIconImage(Icon.DOCK_LOGO_1024.getImage()); - } catch (Exception ignored) { + Taskbar.getTaskbar().setIconImage(Icon.getLogoForMacOs()); + } else { // Else we set it this way - setIconImages(Icon.LOGO_IMAGES); + setIconImages(Icon.getLogoImages()); } setupWindow(500, 335); diff --git a/src/main/java/com/shanebeestudios/mcdeob/app/Icon.java b/src/main/java/com/shanebeestudios/mcdeob/app/Icon.java index 5f01776..67f0b61 100644 --- a/src/main/java/com/shanebeestudios/mcdeob/app/Icon.java +++ b/src/main/java/com/shanebeestudios/mcdeob/app/Icon.java @@ -4,53 +4,33 @@ import javax.swing.*; import java.awt.*; +import java.net.URL; import java.util.ArrayList; import java.util.List; -@SuppressWarnings({"unused", "ConstantConditions"}) public class Icon { - public static final ImageIcon DOCK_LOGO_1024 = getScaledIcon("images/1024.png", "main logo", 1024, 1024); - public static final ImageIcon DOCK_LOGO_512 = getScaledIcon("images/1024.png", "main logo", 512, 512); - public static final ImageIcon DOCK_LOGO_256 = getScaledIcon("images/1024.png", "main logo", 256, 256); - public static final ImageIcon DOCK_LOGO_128 = getScaledIcon("images/1024.png", "main logo", 128, 128); - public static final ImageIcon DOCK_LOGO_64 = getScaledIcon("images/1024.png", "main logo", 64, 64); - public static final ImageIcon DOCK_LOGO_32 = getScaledIcon("images/1024.png", "main logo", 32, 32); - public static final ImageIcon DOCK_LOGO_16 = getScaledIcon("images/1024.png", "main logo", 16, 16); - - public static final List LOGO_IMAGES = new ArrayList<>(); + private static final List LOGO_IMAGES = new ArrayList<>(); static { - LOGO_IMAGES.add(DOCK_LOGO_1024.getImage()); - LOGO_IMAGES.add(DOCK_LOGO_512.getImage()); - LOGO_IMAGES.add(DOCK_LOGO_256.getImage()); - LOGO_IMAGES.add(DOCK_LOGO_128.getImage()); - LOGO_IMAGES.add(DOCK_LOGO_64.getImage()); - LOGO_IMAGES.add(DOCK_LOGO_32.getImage()); - LOGO_IMAGES.add(DOCK_LOGO_16.getImage()); - } - - private static ImageIcon createImageIcon(String path, String description) { - java.net.URL imgURL = McDeob.class.getClassLoader().getResource(path); + URL imgURL = McDeob.class.getClassLoader().getResource("images/1024.png"); if (imgURL != null) { - return new ImageIcon(imgURL, description); + for (int size = 16; size <= 1024; size *= 2) { + ImageIcon imageIcon = new ImageIcon(imgURL, "main logo x" + size); + Image newImage = imageIcon.getImage().getScaledInstance(size, size, Image.SCALE_SMOOTH); + LOGO_IMAGES.add(newImage); + } } else { - System.err.println("Couldn't find file: " + path); - return null; + System.err.println("Couldn't find file: 'images/1024.png'"); } } - private static ImageIcon getScaledIcon(String path, String description, int w, int h) { - java.net.URL imgURL = McDeob.class.getClassLoader().getResource(path); - if (imgURL != null) { - ImageIcon i = new ImageIcon(imgURL, description); - Image image = i.getImage(); - Image newImage = image.getScaledInstance(w, h, Image.SCALE_SMOOTH); - return new ImageIcon(newImage); - } else { - System.err.println("Couldn't find file: " + path); - return null; - } + public static List getLogoImages() { + return LOGO_IMAGES; + } + + public static Image getLogoForMacOs() { + return LOGO_IMAGES.get(LOGO_IMAGES.size() - 1); } }