LiquidGlass UI 2.4.5 / SDK

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 作为直接启动参数。