java - 如何让 Java 将背景图像保存在提取、编译的 java 程序中?

标签 java imageview fxml

当我尝试运行提取/编译的 java 程序时,我可以看到图片,因为它们存储在我的 PC 上,并在我的 PC 的代码中进行寻址。但是当我在另一台电脑上尝试相同的程序时,图片/背景就消失了。 当我将图片从磁盘调用到 ImageView 中时,如何将图片存储到 java 代码中,以便它们也可以在其他系统上查看? 我正在使用 JavaFX 和 FXML、CSS。

最佳答案

您可以使用两种方式将图像与 java 程序捆绑在一起:

1) 将它们放入您的 jar 中 - 创建一个名为例如的包。 “images”并在那里添加图像,然后使用

加载它

BufferedImage img = ImageIO.read(getClass().getResourceAsStream("/images/image.jpg"));

2) 将它们放入与 jar 相同的文件夹中并加载它们:

BufferedImage img = ImageIO.read(new File("image.jpg"));

对你来说,最好的方法可能是#1,因为你只会得到一个 jar - 复制这样的 jar 更容易,并且更难篡改图像。

关于java - 如何让 Java 将背景图像保存在提取、编译的 java 程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45795295/

相关文章:

java - 无法在 AnchorPane 内调整 AnchorPane 的大小

java - 具有 O(log n) 删除任意节点的优先级队列(或最小堆)

android - 如何在 ImageView 中显示图像?

android - 图片下载代码适用于所有图片格式,PNG 格式渲染问题

Android - 用手指拖动 ImageView 不会更新位置

JavaFX:如何将 CSS 添加到 FXML 中的图像元素

java - Java 中文件中的数组数组

java - 只想使用 livecycle Designer ES3 打印特定页面

java - 在 Vaadin 框架中,如何获取客户端时区以用于渲染显示的第一个页面

java - 将 JavaFX FXML 对象组合在一起