gpt4 book ai didi

java - JavaFX 中 ImageView 中的 setImage() 正确的图像参数是什么?

转载 作者:行者123 更新时间:2023-11-30 08:11:20 25 4
gpt4 key购买 nike

我正在尝试使用 JavaFX 和 IntelliJ 制作一个照片浏览器程序,并为按钮创建了一个 actionEvent,该按钮应该在单击时更改照片。

如果我有如下的图像构造函数,只有一个字符串文件路径,它工作得很好(尝试#1),但是当我尝试使用目录和存储在字符串数组中的文件名的组合时(尝试#2) )或带有文件路径的字符串数组(尝试#3)它不起作用。当我尝试打印下面图像构造函数中的输出时,try #2 打印了 try #1 的构造函数中的文本 (/Thumbnails/IMG_0004.jpg),而 try #3 则打印了图片(/Users/Amrit/Google Drive/Computer Science/Mini IA/PhotoBrowser/src/Imported/IMG_0004.jpg)

尝试#1

public void changeRight(ActionEvent actionEvent) {
image1.setImage(new Image("/Thumbnails/IMG_0004.jpg"));
}

尝试#2

public void changeRight(ActionEvent actionEvent) {
image1.setImage(new Image("/Thumbnails/" + fileNameArray[3]));
}

尝试#3

public void changeRight(ActionEvent actionEvent) {
image1.setImage(new Image(stringFilePathArray[3]));
}

这个changeRight 方法位于一个 Controller 类中,该类链接到一个名为sample.fxml 的cxml 文件,该文件是我使用JavaFX Scene Builder 2.0 制作的。所有图像存储的目录位于项目文件夹(PhotoBrowser)内:“/PhotoBrowser/src/Thumbnails/ImageName.jpg”

对于所有这些,我都遇到了空指针异常,并且不确定为什么或如何修复它。

这是 fxml 文件中 ImageView 的代码,它位于 GridPane 的子级中:

<ImageView id="imgView1" fx:id="image1" fitHeight="195.0" fitWidth="300.0"    onMouseClicked="#imgClick" pickOnBounds="true" preserveRatio="true"    GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowIndex="1"   GridPane.valignment="CENTER">
<image>
<Image url="@../Thumbnails/IMG_0001.jpg" />
</image></ImageView>

最佳答案

这是解决方案。对于您的路径,请使用 file:Thumbnails/IMG_0004.jpg。事实上,您必须使用 file: 前缀。

关于java - JavaFX 中 ImageView 中的 setImage() 正确的图像参数是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30352189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com