21 个完整示例
示例同样受根目录 LICENSE 约束:禁止商用;使用 PolarisUI 的应用必须公开完整源码。详见 许可说明。
这些文件均已按 Java 8 与 Java 21 目标编译,并直接用同包 library JAR 复核。
Main:最小界面,输入、按钮、结果标签和通知。
HelloGlass:基础窗口与控件创建。
FormExample:表单、输入和事件。
DataExample:列表、树、表格等数据控件。
CustomControlExample:通过 Painter 自定义图元。
HostIntegration:接入宿主已经 current 的 OpenGL context / framebuffer,没有 main。
MaterialMotion:材质与动效。
StepperSpacing:横向减号/数值/加号及一致间距。
RenderingQuality:全局 AA、DPI 覆盖/SDF 字体、字号和输入比较。
BezierCorners:四角独立半径、单角控制柄和实时形状调整。
CustomPalette:完整自定义主题,包括 tint、强调色、背景与高光。
运行方法(工程根目录):
run-example.cmd 8 Main
run-example.cmd 21 RenderingQuality
run-example.cmd 8 BezierCorners
run-example.cmd 21 CustomPalette
Linux:sh run-example.sh 8 Main 等。脚本只用本地 JDK 与打包的 library JAR,不联网下载依赖。
通用 bounds/radius 等 setter 返回 Widget;专用 setter 返回各自具体类型。示例保留有明确类型的变量,不依赖不存在的链式泛型返回。
MaterialControls.java(2.4.2)
可运行的实时材质/网格示例。演示 GlassSettingsPanel 直接嵌入、GlassSettingsDialog 浮窗、theme 的带校验参数 API 及 Ui.background()。修改 sigma、模糊混合、折射、高光和 tint 会立即影响同一 Ui 的控件。
sh run-example.sh 8 MaterialControls
sh run-example.sh 21 MaterialControls
Windows 使用 run-example.cmd 8 MaterialControls 或 run-example.cmd 21 MaterialControls。
OpticsComparison.java(2.4.3)
在相同强模糊背景下,同时绘制“全部关闭”“只有边缘高光”“只有 RGB 色散”“高光 + 色散”四块玻璃。右侧仍使用库内的 GlassSettingsPanel,不是另一套伪参数面板。
sh run-example.sh 8 OpticsComparison
sh run-example.sh 21 OpticsComparison
Windows 使用对应 .cmd 脚本。此例为了逐项比较而显式放置测试棋盘并调用 backdrop barrier;每组取得已经绘制的背景,不改变主展示程序默认背景或给普通控件增加底板。字体、按压和裁剪路径仍使用原有库。命令行主入口另接受 --frames=N、--screenshot=file.png 和 --light,便于实际渲染复现。
新增应用组合场景
这些入口只负责开窗口;完整控件与模型逻辑在 src/main/java/polaris/sdk/ui/samples/,并已编入 library JAR。不是用另一套图形技术画一张截图。
| 入口类 | 场景与完整实现 |
|---|---|
SceneGalleryDemo | 六场景合集;SceneExamples |
FoodDeliveryApp | 外卖点餐与购物袋;FoodScene |
ChatApp | 会话/消息/草稿;ChatScene |
ClientPanelApp | 外挂风格 ClickGUI;ClientScene,仅配置UI |
MusicPlayerApp | 进度与播放控制模拟;MusicScene,不输出音频 |
PreferencesApp | 设置表单及主题;SettingsScene |
FileWorkspaceApp | 内存虚拟目录管理;FilesScene,不操作磁盘 |
sh run-example.sh 8 FoodDeliveryApp
sh run-example.sh 21 ChatApp
sh run-example.sh 21 ClientPanelApp
sh run-example.sh 8 SceneGalleryDemo
Windows 对应 run-example.cmd 8 FoodDeliveryApp 等。所有入口可从当前 library JAR 编译;Java 21 版需用 Java 21+ 运行。
新场景入口支持 --frames=N、--screenshot=PATH、--grid、--light、--no-animation。需要传这些自动测试参数时可以先编译,再直接用 classpath 启动(Shell脚本默认只接受目标与主类):
sh compile-examples.sh 8
java -cp 'jdk8/lib/liquidglass-ui-jdk8.jar:build/examples-jdk8' FoodDeliveryApp --frames=20 --screenshot=food.png
Windows classpath 分隔符是 ;。运行边界、嵌入已有窗口与状态模型说明见 场景示例。
MaterialPresets.java(2.4.5)
独立运行的模板示例,启动时使用 Morden,浮动设置里可直接切换三组完整参数。调用 MaterialPreset.applyTo(ui.theme()) 或 GlassSettingsPanel.applyPreset(...) 都作用于真实材质。
sh run-example.sh 8 MaterialPresets
sh run-example.sh 21 MaterialPresets
Windows 使用 run-example.cmd 8 MaterialPresets 等。该示例还接受 --frames=N、--screenshot=PATH、--light 作为直接启动参数。