diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/EntryPoint.java b/HMCL/src/main/java/org/jackhuang/hmcl/EntryPoint.java index b1eec3288..396c880f7 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/EntryPoint.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/EntryPoint.java @@ -18,7 +18,6 @@ package org.jackhuang.hmcl; import org.jackhuang.hmcl.util.FileSaver; -import org.jackhuang.hmcl.ui.AwtUtils; import org.jackhuang.hmcl.util.SelfDependencyPatcher; import org.jackhuang.hmcl.util.SwingUtils; import org.jackhuang.hmcl.java.JavaRuntime; @@ -110,8 +109,14 @@ public final class EntryPoint { } private static void initIcon() { - java.awt.Image image = java.awt.Toolkit.getDefaultToolkit().getImage(EntryPoint.class.getResource("/assets/img/icon-mac.png")); - AwtUtils.setAppleIcon(image); + try { + if (java.awt.Taskbar.isTaskbarSupported()) { + var image = java.awt.Toolkit.getDefaultToolkit().getImage(EntryPoint.class.getResource("/assets/img/icon-mac.png")); + java.awt.Taskbar.getTaskbar().setIconImage(image); + } + } catch (Throwable e) { + LOG.warning("Failed to set application icon", e); + } } private static void checkDirectoryPath() { diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/AwtUtils.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/AwtUtils.java deleted file mode 100644 index 1efb3e929..000000000 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/AwtUtils.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.jackhuang.hmcl.ui; - -import java.awt.*; -import java.lang.reflect.Method; - -public final class AwtUtils { - private AwtUtils() { - } - - public static void setAppleIcon(Image image) { - try { - Class taskbarClass = Class.forName("java.awt.Taskbar"); - Method getTaskBarMethod = taskbarClass.getDeclaredMethod("getTaskbar"); - Object taskBar = getTaskBarMethod.invoke(null); - Method setIconImageMethod = taskbarClass.getDeclaredMethod("setIconImage", Image.class); - setIconImageMethod.invoke(taskBar, image); - } catch (Throwable ignore) { - } - } -}