From 62c521a5ea0476d128724b143e37a6cbc379c932 Mon Sep 17 00:00:00 2001 From: tzdwindows 7 <3076584115@qq.com> Date: Thu, 14 Aug 2025 15:50:17 +0800 Subject: [PATCH] =?UTF-8?q?refactor(window):=20=E9=87=8D=E6=9E=84=E7=AA=97?= =?UTF-8?q?=E5=8F=A3=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=B8=BB=E9=A2=98=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -将 gui 包名改为 window,统一窗口相关代码 - 在 RegistrationTopic 中添加 isDarkMode 方法判断主题是否为暗黑模式 - 在 WindowsJDialog 中添加 isTopicDarkMode 方法检测当前主题 - 优化 AxisInnovatorsBox 中的主题注册和设置逻辑 - 更新相关类和方法以适应新的包结构和主题设置逻辑 --- .../innovators/box/AxisInnovatorsBox.java | 35 +++++++++++-------- .../decompilation/gui/ModernJarViewer.java | 2 +- .../box/events/MainWindowEvents.java | 2 +- .../box/events/SettingsLoadEvents.java | 2 +- .../innovators/box/python/PyLocalSide.java | 2 +- .../register/RegistrationSettingsItem.java | 4 +-- .../box/register/RegistrationTool.java | 6 ++-- .../box/register/RegistrationTopic.java | 24 +++++++++++-- .../innovators/box/tools/SystemInfoUtil.java | 8 ++--- .../box/util/AdvancedJFileChooser.java | 2 +- .../box/{gui => window}/ComponentFactory.java | 2 +- .../box/{gui => window}/DebugWindow.java | 2 +- .../box/{gui => window}/FridaSyntax.java | 2 +- .../box/{gui => window}/FridaWindow.java | 4 +-- .../JarApiProfilingWindow.java | 2 +- .../box/{gui => window}/LoadIcon.java | 2 +- .../box/{gui => window}/LocalWindow.java | 2 +- .../box/{gui => window}/LoginWindow.java | 2 +- .../box/{gui => window}/MainWindow.java | 2 +- .../{gui => window}/MemoryAnalysisPanel.java | 2 +- .../box/{gui => window}/ModernTrayApp.java | 2 +- .../{gui => window}/ProgressBarManager.java | 2 +- .../box/{gui => window}/ThemeColors.java | 2 +- .../box/{gui => window}/WindowsJDialog.java | 14 +++++++- .../DarculaCompletionCellRenderer.java | 2 +- 25 files changed, 83 insertions(+), 48 deletions(-) rename src/main/java/com/axis/innovators/box/{gui => window}/ComponentFactory.java (97%) rename src/main/java/com/axis/innovators/box/{gui => window}/DebugWindow.java (99%) rename src/main/java/com/axis/innovators/box/{gui => window}/FridaSyntax.java (99%) rename src/main/java/com/axis/innovators/box/{gui => window}/FridaWindow.java (99%) rename src/main/java/com/axis/innovators/box/{gui => window}/JarApiProfilingWindow.java (99%) rename src/main/java/com/axis/innovators/box/{gui => window}/LoadIcon.java (98%) rename src/main/java/com/axis/innovators/box/{gui => window}/LocalWindow.java (99%) rename src/main/java/com/axis/innovators/box/{gui => window}/LoginWindow.java (99%) rename src/main/java/com/axis/innovators/box/{gui => window}/MainWindow.java (99%) rename src/main/java/com/axis/innovators/box/{gui => window}/MemoryAnalysisPanel.java (99%) rename src/main/java/com/axis/innovators/box/{gui => window}/ModernTrayApp.java (99%) rename src/main/java/com/axis/innovators/box/{gui => window}/ProgressBarManager.java (99%) rename src/main/java/com/axis/innovators/box/{gui => window}/ThemeColors.java (96%) rename src/main/java/com/axis/innovators/box/{gui => window}/WindowsJDialog.java (72%) rename src/main/java/com/axis/innovators/box/{gui => window}/renderer/DarculaCompletionCellRenderer.java (98%) diff --git a/src/main/java/com/axis/innovators/box/AxisInnovatorsBox.java b/src/main/java/com/axis/innovators/box/AxisInnovatorsBox.java index b55eb31..c75b6ed 100644 --- a/src/main/java/com/axis/innovators/box/AxisInnovatorsBox.java +++ b/src/main/java/com/axis/innovators/box/AxisInnovatorsBox.java @@ -3,7 +3,7 @@ package com.axis.innovators.box; import com.axis.innovators.box.events.GlobalEventBus; import com.axis.innovators.box.events.OpenFileEvents; import com.axis.innovators.box.events.StartupEvent; -import com.axis.innovators.box.gui.*; +import com.axis.innovators.box.window.*; import com.axis.innovators.box.plugins.PluginDescriptor; import com.axis.innovators.box.plugins.PluginLoader; import com.axis.innovators.box.plugins.PluginPyLoader; @@ -16,8 +16,6 @@ import com.axis.innovators.box.util.PythonResult; import com.axis.innovators.box.util.Tray; import com.axis.innovators.box.util.UserLocalInformation; import com.axis.innovators.box.verification.UserTags; -import com.formdev.flatlaf.FlatDarkLaf; -import com.formdev.flatlaf.FlatLightLaf; import com.formdev.flatlaf.themes.FlatMacDarkLaf; import com.formdev.flatlaf.themes.FlatMacLightLaf; import com.sun.management.HotSpotDiagnosticMXBean; @@ -726,25 +724,28 @@ public class AxisInnovatorsBox { LanguageManager.getLoadedLanguages().getText("default_theme.system.topicName"), LanguageManager.getLoadedLanguages().getText("default_theme.default.tip"), LoadIcon.loadIcon(MainWindow.class, "logo.png", 64), - "system:default_theme" + "system:default_theme", + isDarkMode // 检测系统当前是否为暗黑模式 ); - // 2. Metal (Java默认主题) + // 2. Metal (Java默认主题) - 浅色主题 main.registrationTopic.addTopic( "javax.swing.plaf.metal.MetalLookAndFeel", LanguageManager.getLoadedLanguages().getText("metal_theme.system.topicName"), LanguageManager.getLoadedLanguages().getText("metal_theme.default.tip"), LoadIcon.loadIcon(MainWindow.class, "logo.png", 64), - "system:metal_theme" + "system:metal_theme", + false ); - // 3. Motif (UNIX风格) + // 3. Motif (UNIX风格) - 通常为浅色主题 main.registrationTopic.addTopic( "com.sun.java.swing.plaf.motif.MotifLookAndFeel", LanguageManager.getLoadedLanguages().getText("motif_theme.system.topicName"), LanguageManager.getLoadedLanguages().getText("motif_theme.default.tip"), LoadIcon.loadIcon(MainWindow.class, "logo.png", 64), - "system:motif_theme" + "system:motif_theme", + false ); // 4. FlatLaf 主题注册 @@ -754,7 +755,8 @@ public class AxisInnovatorsBox { LanguageManager.getLoadedLanguages().getText("flatLight_theme.system.topicName"), LanguageManager.getLoadedLanguages().getText("flatLight_theme.default.tip"), LoadIcon.loadIcon(MainWindow.class, "logo.png", 64), - "system:flatLight_theme" + "system:flatLight_theme", + false ); // 4.2 FlatDark (默认深色) @@ -763,7 +765,8 @@ public class AxisInnovatorsBox { LanguageManager.getLoadedLanguages().getText("flatDark_theme.system.topicName"), LanguageManager.getLoadedLanguages().getText("flatDark_theme.default.tip"), LoadIcon.loadIcon(MainWindow.class, "logo.png", 64), - "system:flatDark_theme" + "system:flatDark_theme", + true ); // 4.3 FlatIntelliJ (类似IDEA浅色) @@ -772,7 +775,8 @@ public class AxisInnovatorsBox { LanguageManager.getLoadedLanguages().getText("flatIntelliJ_theme.system.topicName"), LanguageManager.getLoadedLanguages().getText("flatIntelliJ_theme.default.tip"), LoadIcon.loadIcon(MainWindow.class, "logo.png", 64), - "system:flatIntelliJ_theme" + "system:flatIntelliJ_theme", + false ); // 4.4 FlatDarcula (类似IDEA深色) @@ -781,7 +785,8 @@ public class AxisInnovatorsBox { LanguageManager.getLoadedLanguages().getText("flatDarcula_theme.system.topicName"), LanguageManager.getLoadedLanguages().getText("flatDarcula_theme.default.tip"), LoadIcon.loadIcon(MainWindow.class, "logo.png", 64), - "system:flatDarcula_theme" + "system:flatDarcula_theme", + true ); // 4.5 FlatMacLight (macOS风格浅色) @@ -790,7 +795,8 @@ public class AxisInnovatorsBox { LanguageManager.getLoadedLanguages().getText("flatMacLight_theme.system.topicName"), LanguageManager.getLoadedLanguages().getText("flatMacLight_theme.default.tip"), LoadIcon.loadIcon(MainWindow.class, "logo.png", 64), - "system:flatMacLight_theme" + "system:flatMacLight_theme", + false ); // 4.6 FlatMacDark (macOS风格深色) @@ -799,7 +805,8 @@ public class AxisInnovatorsBox { LanguageManager.getLoadedLanguages().getText("flatMacDark_theme.system.topicName"), LanguageManager.getLoadedLanguages().getText("flatMacDark_theme.default.tip"), LoadIcon.loadIcon(MainWindow.class, "logo.png", 64), - "system:flatMacDark_theme" + "system:flatMacDark_theme", + true ); LookAndFeel defaultLaf = isDarkMode ? new FlatMacDarkLaf() : new FlatMacLightLaf(); diff --git a/src/main/java/com/axis/innovators/box/decompilation/gui/ModernJarViewer.java b/src/main/java/com/axis/innovators/box/decompilation/gui/ModernJarViewer.java index 1b814cb..fc8f620 100644 --- a/src/main/java/com/axis/innovators/box/decompilation/gui/ModernJarViewer.java +++ b/src/main/java/com/axis/innovators/box/decompilation/gui/ModernJarViewer.java @@ -1,6 +1,6 @@ package com.axis.innovators.box.decompilation.gui; -import com.axis.innovators.box.gui.LoadIcon; +import com.axis.innovators.box.window.LoadIcon; import com.axis.innovators.box.util.AdvancedJFileChooser; import com.github.javaparser.JavaParser; import com.github.javaparser.ParseResult; diff --git a/src/main/java/com/axis/innovators/box/events/MainWindowEvents.java b/src/main/java/com/axis/innovators/box/events/MainWindowEvents.java index 5cc5d53..414ec82 100644 --- a/src/main/java/com/axis/innovators/box/events/MainWindowEvents.java +++ b/src/main/java/com/axis/innovators/box/events/MainWindowEvents.java @@ -1,6 +1,6 @@ package com.axis.innovators.box.events; -import com.axis.innovators.box.gui.MainWindow; +import com.axis.innovators.box.window.MainWindow; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/com/axis/innovators/box/events/SettingsLoadEvents.java b/src/main/java/com/axis/innovators/box/events/SettingsLoadEvents.java index 40279c1..d434549 100644 --- a/src/main/java/com/axis/innovators/box/events/SettingsLoadEvents.java +++ b/src/main/java/com/axis/innovators/box/events/SettingsLoadEvents.java @@ -1,6 +1,6 @@ package com.axis.innovators.box.events; -import com.axis.innovators.box.gui.WindowsJDialog; +import com.axis.innovators.box.window.WindowsJDialog; import javax.swing.*; diff --git a/src/main/java/com/axis/innovators/box/python/PyLocalSide.java b/src/main/java/com/axis/innovators/box/python/PyLocalSide.java index 048ce07..503a240 100644 --- a/src/main/java/com/axis/innovators/box/python/PyLocalSide.java +++ b/src/main/java/com/axis/innovators/box/python/PyLocalSide.java @@ -1,7 +1,7 @@ package com.axis.innovators.box.python; import com.axis.innovators.box.AxisInnovatorsBox; -import com.axis.innovators.box.gui.MainWindow; +import com.axis.innovators.box.window.MainWindow; import com.axis.innovators.box.register.LanguageManager; import javax.swing.*; diff --git a/src/main/java/com/axis/innovators/box/register/RegistrationSettingsItem.java b/src/main/java/com/axis/innovators/box/register/RegistrationSettingsItem.java index 7205479..98de2b5 100644 --- a/src/main/java/com/axis/innovators/box/register/RegistrationSettingsItem.java +++ b/src/main/java/com/axis/innovators/box/register/RegistrationSettingsItem.java @@ -2,8 +2,8 @@ package com.axis.innovators.box.register; import com.axis.innovators.box.AxisInnovatorsBox; -import com.axis.innovators.box.gui.LoadIcon; -import com.axis.innovators.box.gui.WindowsJDialog; +import com.axis.innovators.box.window.LoadIcon; +import com.axis.innovators.box.window.WindowsJDialog; import com.axis.innovators.box.plugins.PluginDescriptor; import com.axis.innovators.box.plugins.PluginLoader; import com.axis.innovators.box.plugins.PluginPyLoader; diff --git a/src/main/java/com/axis/innovators/box/register/RegistrationTool.java b/src/main/java/com/axis/innovators/box/register/RegistrationTool.java index 793ee9e..311f0b2 100644 --- a/src/main/java/com/axis/innovators/box/register/RegistrationTool.java +++ b/src/main/java/com/axis/innovators/box/register/RegistrationTool.java @@ -2,9 +2,9 @@ package com.axis.innovators.box.register; import com.axis.innovators.box.AxisInnovatorsBox; import com.axis.innovators.box.browser.MainApplication; -import com.axis.innovators.box.gui.FridaWindow; -import com.axis.innovators.box.gui.JarApiProfilingWindow; -import com.axis.innovators.box.gui.MainWindow; +import com.axis.innovators.box.window.FridaWindow; +import com.axis.innovators.box.window.JarApiProfilingWindow; +import com.axis.innovators.box.window.MainWindow; import com.axis.innovators.box.plugins.PluginDescriptor; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/src/main/java/com/axis/innovators/box/register/RegistrationTopic.java b/src/main/java/com/axis/innovators/box/register/RegistrationTopic.java index 1786ff0..34b4b21 100644 --- a/src/main/java/com/axis/innovators/box/register/RegistrationTopic.java +++ b/src/main/java/com/axis/innovators/box/register/RegistrationTopic.java @@ -28,6 +28,7 @@ public class RegistrationTopic { private final List topicsClassesLookAndFeel = new ArrayList<>(); private final List topicsName = new ArrayList<>(); private final List registeredNameList = new ArrayList<>(); + private final List isDarkModeList = new ArrayList<>(); private final List iconList = new ArrayList<>(); private final List tipList = new ArrayList<>(); private final AxisInnovatorsBox axisInnovatorsBox; @@ -52,7 +53,7 @@ public class RegistrationTopic { * @param registeredName 主题注册名 * @throws RegistrationError 如果注册名已存在,则抛出异常 */ - public void addTopic(String topicClass, String topicName, String tip ,Icon icon, String registeredName) { + public void addTopic(String topicClass, String topicName, String tip ,Icon icon, String registeredName, boolean isDarkMode) { if (!axisInnovatorsBox.isWindow()) { if (registeredNameList.contains(registeredName)) { throw new RegistrationError(registeredName + " duplicate registered names"); @@ -63,6 +64,7 @@ public class RegistrationTopic { tipList.add(tip); iconList.add(icon); registeredNameList.add(registeredName); + isDarkModeList.add(isDarkMode); } else { logger.warn("Wrong time to add topics"); } @@ -78,7 +80,7 @@ public class RegistrationTopic { * @param registeredName 主题注册名 * @throws RegistrationError 如果注册名已存在,则抛出异常 */ - public void addTopic(LookAndFeel topicClass, String topicName, String tip ,Icon icon, String registeredName) { + public void addTopic(LookAndFeel topicClass, String topicName, String tip ,Icon icon, String registeredName, boolean isDarkMode) { if (!axisInnovatorsBox.isWindow()) { if (registeredNameList.contains(registeredName)) { throw new RegistrationError(registeredName + " duplicate registered names"); @@ -89,6 +91,7 @@ public class RegistrationTopic { tipList.add(tip); iconList.add(icon); registeredNameList.add(registeredName); + isDarkModeList.add(isDarkMode); } else { logger.warn("Wrong time to add topics"); } @@ -107,6 +110,23 @@ public class RegistrationTopic { return Objects.equals(loading, loadTopics); } + /** + * 检查当前加载的主题是否是暗黑模式 + * @return true 如果是暗黑模式,false 如果是浅色模式 + */ + public boolean isDarkMode() { + if (loadTopics.isEmpty()) { + return false; + } + + int index = registeredNameList.indexOf(loadTopics); + if (index >= 0 && index < isDarkModeList.size()) { + return isDarkModeList.get(index); + } + + return false; + } + /** * 设置当前加载的主题。 * diff --git a/src/main/java/com/axis/innovators/box/tools/SystemInfoUtil.java b/src/main/java/com/axis/innovators/box/tools/SystemInfoUtil.java index 400c94a..0267dc3 100644 --- a/src/main/java/com/axis/innovators/box/tools/SystemInfoUtil.java +++ b/src/main/java/com/axis/innovators/box/tools/SystemInfoUtil.java @@ -37,13 +37,10 @@ public class SystemInfoUtil { */ public static boolean isSystemDarkMode() { try { - // macOS 检测 if (System.getProperty("os.name").toLowerCase().contains("mac")) { - // 通过 Apple 脚本检测 macOS 深色模式 Process process = Runtime.getRuntime().exec("defaults read -g AppleInterfaceStyle"); return process.waitFor() == 0; // 命令成功返回表示深色模式 } - // Windows 检测 (Windows 10/11) else if (System.getProperty("os.name").toLowerCase().contains("windows")) { String cmd = "reg query HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize " + "/v AppsUseLightTheme"; @@ -52,11 +49,10 @@ public class SystemInfoUtil { String line; while ((line = reader.readLine()) != null) { if (line.contains("REG_DWORD") && line.contains("0x0")) { - return true; // 0x0 表示深色模式 + return true; } } } - // Linux (GNOME) 检测 else if (System.getenv("XDG_CURRENT_DESKTOP") != null && System.getenv("XDG_CURRENT_DESKTOP").toLowerCase().contains("gnome")) { Process process = Runtime.getRuntime().exec("gsettings get org.gnome.desktop.interface color-scheme"); @@ -67,7 +63,7 @@ public class SystemInfoUtil { } catch (Exception e) { logger.warn("Failed to detect system dark mode", e); } - return false; // 默认浅色模式 + return false; } /** diff --git a/src/main/java/com/axis/innovators/box/util/AdvancedJFileChooser.java b/src/main/java/com/axis/innovators/box/util/AdvancedJFileChooser.java index 77eda82..aba55c3 100644 --- a/src/main/java/com/axis/innovators/box/util/AdvancedJFileChooser.java +++ b/src/main/java/com/axis/innovators/box/util/AdvancedJFileChooser.java @@ -1,6 +1,6 @@ package com.axis.innovators.box.util; -import com.axis.innovators.box.gui.JarApiProfilingWindow; +import com.axis.innovators.box.window.JarApiProfilingWindow; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/com/axis/innovators/box/gui/ComponentFactory.java b/src/main/java/com/axis/innovators/box/window/ComponentFactory.java similarity index 97% rename from src/main/java/com/axis/innovators/box/gui/ComponentFactory.java rename to src/main/java/com/axis/innovators/box/window/ComponentFactory.java index c41952c..c8a531b 100644 --- a/src/main/java/com/axis/innovators/box/gui/ComponentFactory.java +++ b/src/main/java/com/axis/innovators/box/window/ComponentFactory.java @@ -1,4 +1,4 @@ -package com.axis.innovators.box.gui; +package com.axis.innovators.box.window; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/com/axis/innovators/box/gui/DebugWindow.java b/src/main/java/com/axis/innovators/box/window/DebugWindow.java similarity index 99% rename from src/main/java/com/axis/innovators/box/gui/DebugWindow.java rename to src/main/java/com/axis/innovators/box/window/DebugWindow.java index be16a25..3dc7a8b 100644 --- a/src/main/java/com/axis/innovators/box/gui/DebugWindow.java +++ b/src/main/java/com/axis/innovators/box/window/DebugWindow.java @@ -1,4 +1,4 @@ -package com.axis.innovators.box.gui; +package com.axis.innovators.box.window; import com.axis.innovators.box.AxisInnovatorsBox; import org.tzd.debug.ClassDebug; diff --git a/src/main/java/com/axis/innovators/box/gui/FridaSyntax.java b/src/main/java/com/axis/innovators/box/window/FridaSyntax.java similarity index 99% rename from src/main/java/com/axis/innovators/box/gui/FridaSyntax.java rename to src/main/java/com/axis/innovators/box/window/FridaSyntax.java index 6760304..a5b001b 100644 --- a/src/main/java/com/axis/innovators/box/gui/FridaSyntax.java +++ b/src/main/java/com/axis/innovators/box/window/FridaSyntax.java @@ -1,4 +1,4 @@ -package com.axis.innovators.box.gui; +package com.axis.innovators.box.window; import org.fife.ui.autocomplete.BasicCompletion; import org.fife.ui.autocomplete.DefaultCompletionProvider; diff --git a/src/main/java/com/axis/innovators/box/gui/FridaWindow.java b/src/main/java/com/axis/innovators/box/window/FridaWindow.java similarity index 99% rename from src/main/java/com/axis/innovators/box/gui/FridaWindow.java rename to src/main/java/com/axis/innovators/box/window/FridaWindow.java index 2b6ea39..d6fa538 100644 --- a/src/main/java/com/axis/innovators/box/gui/FridaWindow.java +++ b/src/main/java/com/axis/innovators/box/window/FridaWindow.java @@ -1,6 +1,6 @@ -package com.axis.innovators.box.gui; +package com.axis.innovators.box.window; -import com.axis.innovators.box.gui.renderer.DarculaCompletionCellRenderer; +import com.axis.innovators.box.window.renderer.DarculaCompletionCellRenderer; import com.axis.innovators.box.util.AdvancedJFileChooser; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/src/main/java/com/axis/innovators/box/gui/JarApiProfilingWindow.java b/src/main/java/com/axis/innovators/box/window/JarApiProfilingWindow.java similarity index 99% rename from src/main/java/com/axis/innovators/box/gui/JarApiProfilingWindow.java rename to src/main/java/com/axis/innovators/box/window/JarApiProfilingWindow.java index 31ac510..e7de6d8 100644 --- a/src/main/java/com/axis/innovators/box/gui/JarApiProfilingWindow.java +++ b/src/main/java/com/axis/innovators/box/window/JarApiProfilingWindow.java @@ -1,4 +1,4 @@ -package com.axis.innovators.box.gui; +package com.axis.innovators.box.window; import com.axis.innovators.box.decompilation.gui.JavaPseudocodeGenerator; import com.axis.innovators.box.util.AdvancedJFileChooser; diff --git a/src/main/java/com/axis/innovators/box/gui/LoadIcon.java b/src/main/java/com/axis/innovators/box/window/LoadIcon.java similarity index 98% rename from src/main/java/com/axis/innovators/box/gui/LoadIcon.java rename to src/main/java/com/axis/innovators/box/window/LoadIcon.java index 3e291f9..041a49a 100644 --- a/src/main/java/com/axis/innovators/box/gui/LoadIcon.java +++ b/src/main/java/com/axis/innovators/box/window/LoadIcon.java @@ -1,4 +1,4 @@ -package com.axis.innovators.box.gui; +package com.axis.innovators.box.window; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/src/main/java/com/axis/innovators/box/gui/LocalWindow.java b/src/main/java/com/axis/innovators/box/window/LocalWindow.java similarity index 99% rename from src/main/java/com/axis/innovators/box/gui/LocalWindow.java rename to src/main/java/com/axis/innovators/box/window/LocalWindow.java index cb6c4ba..de9b3be 100644 --- a/src/main/java/com/axis/innovators/box/gui/LocalWindow.java +++ b/src/main/java/com/axis/innovators/box/window/LocalWindow.java @@ -1,4 +1,4 @@ -package com.axis.innovators.box.gui; +package com.axis.innovators.box.window; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/src/main/java/com/axis/innovators/box/gui/LoginWindow.java b/src/main/java/com/axis/innovators/box/window/LoginWindow.java similarity index 99% rename from src/main/java/com/axis/innovators/box/gui/LoginWindow.java rename to src/main/java/com/axis/innovators/box/window/LoginWindow.java index 3b50b53..e0e6664 100644 --- a/src/main/java/com/axis/innovators/box/gui/LoginWindow.java +++ b/src/main/java/com/axis/innovators/box/window/LoginWindow.java @@ -1,4 +1,4 @@ -package com.axis.innovators.box.gui; +package com.axis.innovators.box.window; import com.axis.innovators.box.verification.OnlineVerification; import com.axis.innovators.box.verification.UserTags; diff --git a/src/main/java/com/axis/innovators/box/gui/MainWindow.java b/src/main/java/com/axis/innovators/box/window/MainWindow.java similarity index 99% rename from src/main/java/com/axis/innovators/box/gui/MainWindow.java rename to src/main/java/com/axis/innovators/box/window/MainWindow.java index 06f0491..42a27ef 100644 --- a/src/main/java/com/axis/innovators/box/gui/MainWindow.java +++ b/src/main/java/com/axis/innovators/box/window/MainWindow.java @@ -1,4 +1,4 @@ -package com.axis.innovators.box.gui; +package com.axis.innovators.box.window; import com.axis.innovators.box.AxisInnovatorsBox; import com.axis.innovators.box.events.*; diff --git a/src/main/java/com/axis/innovators/box/gui/MemoryAnalysisPanel.java b/src/main/java/com/axis/innovators/box/window/MemoryAnalysisPanel.java similarity index 99% rename from src/main/java/com/axis/innovators/box/gui/MemoryAnalysisPanel.java rename to src/main/java/com/axis/innovators/box/window/MemoryAnalysisPanel.java index 22d6ba7..3d66eed 100644 --- a/src/main/java/com/axis/innovators/box/gui/MemoryAnalysisPanel.java +++ b/src/main/java/com/axis/innovators/box/window/MemoryAnalysisPanel.java @@ -1,4 +1,4 @@ -package com.axis.innovators.box.gui; +package com.axis.innovators.box.window; import org.tzd.debug.ClassDebug; import org.tzd.debug.GetInstance; diff --git a/src/main/java/com/axis/innovators/box/gui/ModernTrayApp.java b/src/main/java/com/axis/innovators/box/window/ModernTrayApp.java similarity index 99% rename from src/main/java/com/axis/innovators/box/gui/ModernTrayApp.java rename to src/main/java/com/axis/innovators/box/window/ModernTrayApp.java index ae0b29e..0df9f96 100644 --- a/src/main/java/com/axis/innovators/box/gui/ModernTrayApp.java +++ b/src/main/java/com/axis/innovators/box/window/ModernTrayApp.java @@ -1,4 +1,4 @@ -package com.axis.innovators.box.gui; +package com.axis.innovators.box.window; import com.axis.innovators.box.AxisInnovatorsBox; diff --git a/src/main/java/com/axis/innovators/box/gui/ProgressBarManager.java b/src/main/java/com/axis/innovators/box/window/ProgressBarManager.java similarity index 99% rename from src/main/java/com/axis/innovators/box/gui/ProgressBarManager.java rename to src/main/java/com/axis/innovators/box/window/ProgressBarManager.java index 1db9404..24241fb 100644 --- a/src/main/java/com/axis/innovators/box/gui/ProgressBarManager.java +++ b/src/main/java/com/axis/innovators/box/window/ProgressBarManager.java @@ -1,4 +1,4 @@ -package com.axis.innovators.box.gui; +package com.axis.innovators.box.window; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/com/axis/innovators/box/gui/ThemeColors.java b/src/main/java/com/axis/innovators/box/window/ThemeColors.java similarity index 96% rename from src/main/java/com/axis/innovators/box/gui/ThemeColors.java rename to src/main/java/com/axis/innovators/box/window/ThemeColors.java index 5e32f89..4f2e60f 100644 --- a/src/main/java/com/axis/innovators/box/gui/ThemeColors.java +++ b/src/main/java/com/axis/innovators/box/window/ThemeColors.java @@ -1,4 +1,4 @@ -package com.axis.innovators.box.gui; +package com.axis.innovators.box.window; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/com/axis/innovators/box/gui/WindowsJDialog.java b/src/main/java/com/axis/innovators/box/window/WindowsJDialog.java similarity index 72% rename from src/main/java/com/axis/innovators/box/gui/WindowsJDialog.java rename to src/main/java/com/axis/innovators/box/window/WindowsJDialog.java index fce1005..5260764 100644 --- a/src/main/java/com/axis/innovators/box/gui/WindowsJDialog.java +++ b/src/main/java/com/axis/innovators/box/window/WindowsJDialog.java @@ -1,7 +1,8 @@ -package com.axis.innovators.box.gui; +package com.axis.innovators.box.window; import com.axis.innovators.box.AxisInnovatorsBox; import com.axis.innovators.box.register.LanguageManager; +import com.axis.innovators.box.register.RegistrationTopic; import javax.swing.*; import java.awt.*; @@ -9,6 +10,7 @@ import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /** + * 窗口 * @author tzdwindows 7 */ public class WindowsJDialog extends JDialog { @@ -48,4 +50,14 @@ public class WindowsJDialog extends JDialog { AxisInnovatorsBox.getMain().clearWindow(this); super.dispose(); } + + /** + * 检测当前窗口的主题是否处于暗黑模式 + * @return true 处于暗黑模式,false 处于浅色模式 + */ + public boolean isTopicDarkMode(){ + AxisInnovatorsBox axisInnovatorsBox = AxisInnovatorsBox.getMain(); + RegistrationTopic registrationTopic = axisInnovatorsBox.getRegistrationTopic(); + return registrationTopic.isDarkMode(); + } } diff --git a/src/main/java/com/axis/innovators/box/gui/renderer/DarculaCompletionCellRenderer.java b/src/main/java/com/axis/innovators/box/window/renderer/DarculaCompletionCellRenderer.java similarity index 98% rename from src/main/java/com/axis/innovators/box/gui/renderer/DarculaCompletionCellRenderer.java rename to src/main/java/com/axis/innovators/box/window/renderer/DarculaCompletionCellRenderer.java index c58bb82..959a7a7 100644 --- a/src/main/java/com/axis/innovators/box/gui/renderer/DarculaCompletionCellRenderer.java +++ b/src/main/java/com/axis/innovators/box/window/renderer/DarculaCompletionCellRenderer.java @@ -1,4 +1,4 @@ -package com.axis.innovators.box.gui.renderer; +package com.axis.innovators.box.window.renderer; import javax.swing.*; import javax.swing.border.AbstractBorder;