diff --git a/src/main/java/com/luoboduner/moo/info/App.java b/src/main/java/com/luoboduner/moo/info/App.java index ae0df26..a0ad380 100644 --- a/src/main/java/com/luoboduner/moo/info/App.java +++ b/src/main/java/com/luoboduner/moo/info/App.java @@ -9,6 +9,7 @@ import com.luoboduner.moo.info.ui.form.LoadingForm; import com.luoboduner.moo.info.ui.form.MainWindow; import com.luoboduner.moo.info.ui.frame.MainFrame; import com.luoboduner.moo.info.util.ConfigUtil; +import com.luoboduner.moo.info.util.UIUtil; import com.luoboduner.moo.info.util.UpgradeUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.exception.ExceptionUtils; @@ -39,7 +40,9 @@ public class App { System.setProperty("apple.laf.useScreenMenuBar", "true"); System.setProperty("apple.awt.application.name", "MooInfo"); System.setProperty("com.apple.mrj.application.apple.menu.about.name", "MooInfo"); - System.setProperty("apple.awt.application.appearance", "system"); + if (UIUtil.isDarkLaf()) { + System.setProperty("apple.awt.application.appearance", "system"); + } FlatDesktop.setAboutHandler(() -> { try { diff --git a/src/main/java/com/luoboduner/moo/info/ui/Init.java b/src/main/java/com/luoboduner/moo/info/ui/Init.java index c235683..cca00fa 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/Init.java +++ b/src/main/java/com/luoboduner/moo/info/ui/Init.java @@ -5,6 +5,7 @@ import cn.hutool.log.Log; import cn.hutool.log.LogFactory; import com.formdev.flatlaf.FlatLightLaf; import com.formdev.flatlaf.IntelliJTheme; +import com.formdev.flatlaf.extras.FlatSVGIcon; import com.luoboduner.moo.info.App; import com.luoboduner.moo.info.ui.component.TopMenuBar; import com.luoboduner.moo.info.ui.form.*; @@ -190,6 +191,12 @@ public class Init { } UIManager.setLookAndFeel("com.formdev.flatlaf.FlatDarculaLaf"); } + if (UIUtil.isDarkLaf()) { +// FlatSVGIcon.ColorFilter.getInstance().setMapper(color -> color.brighter().brighter()); + } else { + FlatSVGIcon.ColorFilter.getInstance().setMapper(color -> color.darker().darker()); + } +// SwingUtilities.windowForComponent(App.mainFrame).repaint(); } catch (Exception e) { logger.error(e); } diff --git a/src/main/java/com/luoboduner/moo/info/util/UIUtil.java b/src/main/java/com/luoboduner/moo/info/util/UIUtil.java index 6f09989..cf8c3ca 100644 --- a/src/main/java/com/luoboduner/moo/info/util/UIUtil.java +++ b/src/main/java/com/luoboduner/moo/info/util/UIUtil.java @@ -59,6 +59,7 @@ public class UIUtil { || "Darcula(Recommended)".equals(App.config.getTheme()) || "Flat Dark".equals(App.config.getTheme()) || "Flat Darcula".equals(App.config.getTheme()) + || "Dark purple".equals(App.config.getTheme()) || "Flat Darcula(Recommended)".equals(App.config.getTheme()); } }