我有一个运行 GUI 的 Java 程序,该 GUI 从用户接收所需信息/显示信息。 GUI 中有一个按钮,可以生成 PDF 形式的提案,我希望用户能够下载该提案。我在打开网页时无法自动运行 GUI,而是仅显示 HTML 中引用的 JNLP 文件的图标。
Java Web Start不在网页中运行 GUI。 Java Web Start 是一种用于在用户计算机上已存在的 JVM 上下载和启动 local Java 应用程序的技术。
Java Web Start 已被 Oracle 淘汰,因为 Oracle 不再期望用户计算机预装 JVM。请参阅 Oracle 白皮书,Java 客户端路线图更新。
OpenWebStart 是 Java Web Start 技术的替代开源实现。
如果您想使用纯 Java 构建 Web 应用程序 GUI,而无需学习 HTML、JavaScript、DOM、WebSockets 等,我建议Vaadin Flow。
TeaVM 是 Java 字节码到 JavaScript 的提前编译器。 它很像 GWT,但是 GWT 需要源代码,这限制了 GWT 仅适用于 Java。与 GWT 不同,TeaVM 依赖于现有的编译器,例如 javac、kotlinc 和 scalac。这些编译器生成字节码(*.class 或 *.jar 文件),然后 TeaVM 获取此字节码并生成 JavaScript 代码。目的
TeaVM 主要是一个 Web 开发工具。这不是为了带走你的 Java 或 Kotlin 中现有的大型代码库并生成 JavaScript。 不幸的是,Java 的设计初衷并不是为了在 浏览器。有些 Java API 没有的话就不可能实现 生成低效的 JavaScript。其中一些 API 是:反射、 资源、类加载器和 JNI。 TeaVM 限制这些的使用 蜜蜂。一般来说,您必须手动重写代码以适应 TeaVM 约束。
--