Java Fx 从 imageView 更新图像
Java Fx image update from imageView
如何更新显示在 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传递给preparedstatement来更新并插入
您得到的是 NullPointerException
,因为如果您不使用 FileChooser 选择文件,您的 file
变量将设置为空。这可以通过稍微改变您的 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 中的图像 我从数据库中设置这张图片 从 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传递给preparedstatement来更新并插入
您得到的是 NullPointerException
,因为如果您不使用 FileChooser 选择文件,您的 file
变量将设置为空。这可以通过稍微改变您的 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);