如何在Swing桌面应用程序中部署JavaFX

我设法使用本教程将JavaFX HTMLEditor嵌入到Swing桌面应用程序中,在Eclipse中本地化都非常棒。

我的问题是如何将这部署给我们的客户? Oracle有一个关于WebStart和Applet部署的教程,但我没有看到桌面应用程序的信息。

目前我从已安装的JavaFX SDK中将libs和二进制文件复制到我的项目中,并在编译分发时包含它们:

/my/application/lib/javafx/lib/javafxrt.jar
/my/application/lib/javafx/bin/[dll:s from JavaFX Runtime]

但这似乎很奇怪,必须有更好的方法? 我需要一些帮助。 问题是,在Eclipse开发过程中,我需要javafxrt.jar上的javafxrt.jar ,所以我复制了jar文件,因为我看不到像我可以使用的javafx_home这样的任何环境变量。 但是,当加载JavaFX时,它会尝试加载dll:从相对路径,这就是为什么我也将dll复制到我的项目中的原因。

这对于部署是有问题的,如果客户端安装了64位JVM(我认为这是行不通的),我宁愿不发布32位JavaFX运行时。 目前我们的客户只运行Windows,因此暂时不存在问题。

在运行时没有办法检查JavaFX是否安装,如果是,请“动态”获取它的路径? 运送jar文件没有问题,但我担心平台相关的二进制文件。

更新: WebStart不是一种选择,因为我们将应用程序与旧版Windows应用程序绑定/安装,而不是所有功能都已移植,因此这两个应用程序都使用定制的IPC协议进行通信。

任何帮助表示赞赏! 提前致谢。


使用Java Web Start来部署应用程序。 JWS使添加依赖Jars和本机到应用程序的运行时类路径变得很简单,并且可以通过平台对本机的下载进行分区。

事实上,如果JavaFX API尚未提供客户端应用程序的扩展JNLP,我会感到惊讶。 可以简单地链接到他们自己的JNLP启动文件中。


使用这里描述的新的JavaFX ant任务。 为我工作得很好。

编辑:另见本地包装:https://blogs.oracle.com/talkingjavadeployment/entry/native_packaging_for_javafx


您可以使用JFXPanel(javafx.embed.swing.JFXPanel)在Java swing应用程序中嵌入JavaFX组件。 它用于在Java swing应用程序中嵌入JavaFX组件。 通过https://docs.oracle.com/javase/8/javafx/api/javafx/embed/swing/JFXPanel.html了解有关JFXPanel的更多信息

链接地址: http://www.djcxy.com/p/68185.html

上一篇: How to deploy JavaFX in Swing desktop application

下一篇: Writing USB Drive Portable Applications in C#