繁体   English   中英

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

[英]How to deploy JavaFX in Swing desktop application

我设法在使用本教程的Swing桌面应用程序中嵌入JavaFX HTMLEditor ,在Eclipse中本地工作都很棒。

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

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

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

但这似乎很奇怪,必须有更好的方法吗? 我需要一些帮助。 问题是在Eclipse开发期间我需要在类路径上使用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组件。 有关JFXPanel的更多信息,请访问https://docs.oracle.com/javase/8/javafx/api/javafx/embed/swing/JFXPanel.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM