部署包含大量图像的JavaFX应用的最佳方法

时间:2019-05-14 03:20:10

标签: javafx deployment exe

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

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

我现在想导出该应用程序,以便能够与感兴趣的人共享它-但是,我不确定执行此操作的最佳方法是什么。我已经搜索了好几天,但没有找到任何能真正回答我问题的信息。

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

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

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

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

  

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

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

如果您需要罐子中的图像或资源列表,请查看"How to list the files inside a JAR file?"

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

import javafx.scene.image.Image;

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

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