feat(browser): 实现Java字体和主题动态同步到HTML界面

- 添加javaFontsLoaded和javaThemeChanged事件监听机制
- 在BrowserWindow和BrowserWindowJDialog中实现字体信息获取和注入
- 前端HTML文件增加对应的字体应用逻辑和样式更新
- 创建WindowRegistry统一管理窗口主题更新
- 更新README文档说明HTML事件使用方法- 支持Monaco和CodeMirror编辑器的字体动态调整
-优化CEF浏览器与Java UI的字体和主题同步流程
This commit is contained in:
tzdwindows 7
2025-10-05 19:49:53 +08:00
parent f24e78ab95
commit adf659853d
11 changed files with 608 additions and 0 deletions

View File

@@ -401,6 +401,32 @@ private void configureMessageRouter(BrowserWindowJDialog window) {
}
```
## HTML事件
HTML窗口内可以捕捉到一些Java的事件
| 事件名 | 介绍 | 触发时机 |
|--------|------------|---------------------|
| `javaFontsLoaded` | Java字体加载完成 | Java字体信息传输到HTML时或在在更新主题时 |
| `javaThemeChanged` | 在主题发生变化时触发 | 在更新主题时 |
#### 具体示例
```javascript
// 监听Java字体加载事件
document.addEventListener('javaFontsLoaded', function(event) {
const fontInfo = event.detail;
console.log('接收到Java字体信息:', fontInfo);
// 应用Java字体到界面
applyJavaFonts(fontInfo);
});
// 监听Java主题变化事件
document.addEventListener('javaThemeChanged', function(event) {
const themeInfo = event.detail;
console.log('接收到Java主题信息:', themeInfo);
applyJavaTheme(themeInfo);
});
```
### 窗口管理系统说明
通过`WindowRegistry`统一管理应用窗口: