From f24e78ab951ba1aad8a2c5b4f0b56210f9f52e15 Mon Sep 17 00:00:00 2001 From: tzdwindows 7 <3076584115@qq.com> Date: Sun, 5 Oct 2025 18:49:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(window):=E4=BC=98=E5=8C=96=E7=AA=97?= =?UTF-8?q?=E5=8F=A3=E9=87=8D=E7=BB=98=E9=80=BB=E8=BE=91=E4=B8=8E=E4=B8=BB?= =?UTF-8?q?=E9=A2=98=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重构窗口重绘逻辑,区分全窗口重载与局部刷新 - 添加窗口内容清除与UI重新初始化流程 - 改进背景图片存在时的选择按钮背景色处理 - 更新语言配置文件中的时间戳与主题颜色选择器文本-修复窗口重绘时的残留背景问题 --- language/saved_language.properties | 2 +- language/sys_zh_CN.properties | 2 ++ .../innovators/box/window/MainWindow.java | 30 +++++++++++++++++-- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/language/saved_language.properties b/language/saved_language.properties index 11a17b9..0700975 100644 --- a/language/saved_language.properties +++ b/language/saved_language.properties @@ -1,3 +1,3 @@ #Current Loaded Language -#Sun Oct 05 16:06:50 CST 2025 +#Sun Oct 05 18:45:33 CST 2025 loadedLanguage=system\:zh_CN diff --git a/language/sys_zh_CN.properties b/language/sys_zh_CN.properties index 11b1906..ae73352 100644 --- a/language/sys_zh_CN.properties +++ b/language/sys_zh_CN.properties @@ -186,6 +186,8 @@ settings.1.scrollPane=\u5DF2\u52A0\u8F7D\u63D2\u4EF6\u5217\u8868 settings.2.color=\u754C\u9762\u4E3B\u9898\u989C\u8272\uFF1A settings.2.colorBtn=\u9009\u62E9\u989C\u8272 settings.2.colorBtn.color=\u9009\u62E9\u4E3B\u9898\u989C\u8272 +settings.2.colorBtn.cancel=\u53D6\u6D88 +settings.2.colorBtn.apply=\u5E94\u7528 settings.2.font=\u754C\u9762\u5B57\u4F53\uFF1A settings.2.fontBtn=\u9009\u62E9\u5B57\u4F53 settings.2.showConfirmDialog=\u9009\u62E9\u5B57\u4F53 diff --git a/src/main/java/com/axis/innovators/box/window/MainWindow.java b/src/main/java/com/axis/innovators/box/window/MainWindow.java index 81a2334..3fda320 100644 --- a/src/main/java/com/axis/innovators/box/window/MainWindow.java +++ b/src/main/java/com/axis/innovators/box/window/MainWindow.java @@ -157,8 +157,17 @@ public class MainWindow extends JFrame { this.cachedBackgroundSize = null; // 重新绘制窗口 - //if (AxisInnovatorsBox.getMain().isWindow()) - // AxisInnovatorsBox.getMain().reloadAllWindow(); + if (AxisInnovatorsBox.getMain().isWindow()) { + AxisInnovatorsBox.getMain().reloadAllWindow(); + } + else { + getContentPane().removeAll(); + revalidate(); + repaint(); + initUI(); + updateTheme(); + revalidate(); + } } /** @@ -168,7 +177,15 @@ public class MainWindow extends JFrame { this.backgroundImage = null; this.cachedBlurredBackground = null; this.cachedBackgroundSize = null; + + // 这是段重复的石山代码我不想改了,作用用py想都知道是更新窗口渲染 + // 别问我为什么不用AxisInnovatorsBox.getMain().reloadAllWindow(); + // 因为AxisInnovatorsBox.getMain().reloadAllWindow();会广播到所有窗口 + getContentPane().removeAll(); repaint(); + initUI(); + updateTheme(); + revalidate(); } /** @@ -872,7 +889,14 @@ public class MainWindow extends JFrame { boolean selected = Objects.equals(currentCategoryId, category.getId().toString()); if (selected) { button.setOpaque(true); - button.setBackground(SELECT_FILL); + /** + * Java我草泥马,你马死了 + */ + if (backgroundImage == null) { + button.setBackground(SELECT_FILL); + } else { + button.setBackground(new Color(0, 120, 215, 255)); + } } else { button.setOpaque(false); // 为避免残留,仍设置透明背景(透明颜色)