首页 > 解决方案 > 使用大量图像部署 JavaFX 应用程序的最佳方式

问题描述

我对java相当陌生。我编写了一个应用程序,它基本上有一个 50x50 的按钮网格,每个按钮打开一个与该按钮相关的特定图像。图像存储在我的文件系统中。

该应用程序在 Netbeans 中完美运行,每个按钮都会打开正确的图像。

我现在想导出该应用程序以便能够与一些感兴趣的人分享它 - 但是我不确定这样做的最佳方法是什么。我已经在谷歌上搜索了好几天,但没有找到任何真正回答我问题的东西。

我更喜欢的是:用户安装/解压缩/无论应用程序,结果留下一个包含所有图像文件的文件夹(其中很多,大小约为 1Gb)和一个可运行文件,最好是.exe 运行程序。

实现这样的目标的最佳方法是什么?

起初我在考虑将所有图像文件包含在一个可运行的 JAR 中。这种方法的问题是我必须重写我的代码,因为现在我的代码使用 java.io.File 来获取图像,据我所知,这在 JAR 中不起作用。此外,我更喜欢 .exe 而不是 JAR。

任何帮助将不胜感激!

标签: javafxdeploymentexe

解决方案


现在我的代码使用 java.io.File 来获取图像

您是说您使用 java.io.File 来获取可用图像的列表,还是使用它来读取图像?

如果您需要 jar 中的图像或资源列表,请查看“如何列出 JAR 文件中的文件?”

要使用 JavaFX 从 jar 中读取图像,您只需要获取图像的 URL:

import javafx.scene.image.Image;

URL url = getClass().getResource("/path/inside/jar/myimage.png");
Image image = new Image(url.toExternalForm(), true);

至于部署该应用程序的最佳方式……我想说一个 1GB 的应用程序是一头野兽。您能否将图像托管在 Web 服务器上并让应用程序在需要显示时延迟获取图像?


推荐阅读