gpt4 book ai didi

来自 imageView 的 Java Fx 图像更新

转载 作者:行者123 更新时间:2023-11-29 07:26:12 25 4
gpt4 key购买 nike

如何更新显示在 imageView 中的图像我从数据库中设置这张图片从 db 获取 imageView 图像的代码是...

InputStream is = resultSet.getBinaryStream("image");
OutputStream os;

os = new FileOutputStream(new File("src/sources/images/photo.jpg"));
byte[]content = new byte[1024];
int size = 0;
while((size=is.read(content))!= -1)
{
os.write(content,0,size);
}
os.close();
is.close();
image = new Image("file:src/sources/images/photo.jpg");

imageView.setImage(image);

图片以BLOB类型保存在MySQL数据库中

如果我不使用文件选择器选择任何图像,现在我想更新此图像并再次设置此图像请解决我的这个问题提前致谢

文件选择器代码

stage = (Stage) showScene.getScene().getWindow();

file = fileChooser.showOpenDialog(stage);

if(file != null){
image = new Image(file.getAbsoluteFile().toURI().toString(),imageView.getFitWidth(),imageView.getFitHeight(),true,true);
imageView.setImage(image);
imageView.setPreserveRatio(true);
}
fis = new FileInputStream(file); // here i got error(null pointer exception) if i try to update withouting choosing image from filechooser

我将 fis 传递给准备好的语句以更新并插入

最佳答案

您将收到 NullPointerException,因为如果您不使用 FileChooser 选择文件,您的 file 变量将设置为 null。这可以通过稍微改变您的 if 语句来解决。

file = fileChooser.showOpenDialog(stage);

if (file == null) {
file = new File("path/to/default/file")
}

image = new Image(file.getAbsoluteFile().toURI().toString(),imageView.getFitWidth(),imageView.getFitHeight(),true,true);
imageView.setImage(image);
imageView.setPreserveRatio(true);

fis = new FileInputStream(file);

关于来自 imageView 的 Java Fx 图像更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53631848/

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