- 新增浏览器模块技术文档,涵盖 BrowserCore、BrowserWindow 等核心组件 - 添加事件系统文档,包括 EventBus、GlobalEventBus 及各类事件定义 - 创建 LanguageManager 国际化管理器详细说明文档 - 新增 Log4j2OutputStream 标准输出重定向类文档 - 添加 Main 入口类启动流程与路由机制说明 - 创建 BrowserCreationCallback 回调接口使用指南 - 完善 AxisInnovatorsBox 主类架构与崩溃诊断系统文档
4.4 KiB
4.4 KiB
这是一个专门为 com.axis.innovators.box.register.RegistrationSettingsItem 类编写的技术介绍文档。
RegistrationSettingsItem 类技术文档
包路径: com.axis.innovators.box.register.RegistrationSettingsItem
继承关系: com.axis.innovators.box.window.WindowsJDialog
主要功能: 设置中心控制器、设置项注册引擎、应用配置管理
作者: tzdwindows 7
1. 概述
RegistrationSettingsItem 是 Axis Innovators Box 的配置核心。它既是一个用于展示设置界面的对话框组件,也是一个全局的设置项注册仓库。它允许主程序和外部插件动态地将自定义的设置面板(JPanel)插入到统一的“设置中心”内。
此外,该类还负责处理应用的外观(主题、字体、背景图片)、性能(CUDA 加速)和国际化(语言)的持久化逻辑。
2. 核心职责
2.1 设置项注册 (Registration)
提供标准的 API,允许不同模块注册设置页面:
- 内置页面: 自动初始化“常规设置”、“插件管理”、“主题选择”和“关于我们”四个核心面板。
- 插件扩展: 插件可以通过
addSettings()方法将自己的配置界面无缝集成到主设置窗口中。
2.2 环境外观管理
- 主题切换: 与
RegistrationTopic配合,实现 LookAndFeel 的动态切换与搜索。 - 字体定制: 全局修改 UI 字体,包括字体家族和大小。
- 背景特效: 支持设置主窗口背景图片,并提供实时的高斯模糊/毛玻璃特效预览与应用。
2.3 配置持久化
使用 StateManager(关联文件 app_settings)将用户的个性化选择保存到磁盘:
theme.color: 界面主题主色调。ui.font: 用户选择的字体。background.path&background.blur: 背景图片路径及其模糊程度。ui.language: 选定的语言环境。ai.cuda.enabled: AI 推理的 CUDA 加速开关。
3. 关键功能模块解析
3.1 动态背景模糊系统
该类内置了复杂的图像处理算法用于背景预览:
applyFastBlur: 快速盒式模糊,适用于小半径预览。applyScaledBlur: 缩放模糊算法,通过降低采样率再放大的方式,在大半径模糊下保持极高的性能。applyGaussianBlur: 标准高斯模糊,通过一维卷积核两次传递(水平+垂直)实现高质量效果。
3.2 插件管理面板 (createPluginSettingsPanel)
实时统计并展示系统中已加载的所有插件信息:
- 区分 Java 插件 和 Python 插件。
- 支持双击查看详细信息,包括插件图标、物理位置(JAR 路径)、主类名及转换器信息。
3.3 全局应用逻辑 (applyAllSettings)
这是一个静态方法,通常在 AxisInnovatorsBox 启动时调用。它会按顺序读取 StateManager 中的所有记录,并一次性应用到当前 JVM 环境中,确保用户每次打开应用时都能获得一致的体验。
4. API 接口说明
4.1 注册设置项
public void addSettings(JPanel panel, String title, Icon icon, String tip, String registeredName)
panel: 要显示的设置 UI 面板。title: 侧边栏或标签页显示的标题。registeredName: 唯一标识符(建议格式pluginId:itemName)。
4.2 设置项管理
| 方法 | 描述 |
|---|---|
static void overloading() |
重新初始化设置列表,常用于切换语言后刷新 UI 文本。 |
static void applyAllSettings() |
从磁盘加载并应用所有已保存的配置。 |
void registration(JTabbedPane tp) |
将所有已注册的设置项填充到指定的选项卡组件中。 |
5. 交互特性
- 主题搜索: 在主题面板按
Ctrl + F可调出搜索栏,快速定位已安装的主题。 - 实时预览: 调整模糊滑块或选择颜色时,设置界面内的预览组件会立即更新。
- 热重载: 切换主题或语言后,会触发
AxisInnovatorsBox.getMain().reloadAllWindow(),无需重启即可看到全局变化。
6. 设计细节
- 隔离性: 使用
UUID内部管理设置项,确保即使注册名相似也不会发生引用冲突。 - 健壮性: 在加载背景图片或字体时,会自动检查物理文件是否存在及字体在当前系统中是否可用,防止因配置损坏导致启动崩溃。
文档生成时间: 2026-01-02