禁止商用。所有使用 PolarisUI 的应用都必须公开完整源码。查看许可条款
快速入门
polaris.sdk.ui。官网示例也可直接下载:HelloPolaris.java。在 SDK 解压目录中编译:javac -encoding UTF-8 -cp jdk21/lib/liquidglass-ui-jdk21.jar HelloPolaris.java,Windows 运行:java -cp ".;jdk21/lib/liquidglass-ui-jdk21.jar" HelloPolaris。
使用条件:禁止商用;所有使用 PolarisUI 的应用都必须公开完整源码,包括应用业务代码。 使用前阅读 许可说明 和 完整许可。
当前 API 包名为 polaris.sdk.ui,控件为 polaris.sdk.ui.controls。从旧版迁移时,将 dev.liquidglass.ui 导入改为 polaris.sdk.ui 后重新编译;使用本包内配套的 JAR 和原生库。
1. 选择 jdk8/lib/liquidglass-ui-jdk8.jar 或 jdk21/lib/liquidglass-ui-jdk21.jar,加入项目 classpath;不要两版一起加入。 2. 完整最小程序在 examples/Main.java,也可直接运行 run-example.cmd 8 Main。 3. 展示程序用 jdk8/run-demo.cmd 或 jdk21/run-demo.cmd;新增能力在“绘制与配色”页面。
Java 8 目标手动编译与运行(Windows):
mkdir out
javac -encoding UTF-8 -cp jdk8\lib\liquidglass-ui-jdk8.jar -d out examples\Main.java
java -cp "out;jdk8\lib\liquidglass-ui-jdk8.jar" Main
Java 21 目标需要用 Java 21 编译运行,把上述路径换成 jdk21。Linux 的 classpath 分隔符用 :。
复用已有 OpenGL 窗口
不要调用 DesktopWindow.run,否则会新开窗口。使用 examples/HostIntegration.java:
NativeBackend backend = NativeBackend.attachCurrentContext();
NativePainter painter = new NativePainter(backend);
Ui ui = new Ui();
// 每帧,在宿主背景已经画完后:
painter.begin(logicalWidth, logicalHeight, pixelWidth, pixelHeight);
ui.render(painter, logicalWidth, logicalHeight, timeSeconds);
painter.flush(framebufferId, colorAttachment,
pixelWidth, pixelHeight, ui.theme().sigma, mouseX, mouseY);
默认双缓冲窗口为 framebuffer=0、colorAttachment=0x0405;宿主 FBO 通常是其 framebuffer ID 和 0x8CE0。不是 texture ID。创建、输入、绘制和关闭位于持有 context 的同一线程;跨线程修改使用 ui.post。先 painter.close,再 backend.close,最后宿主销毁 context。