SwingFXUtils显示NoClassFoundError

时间:2017-02-03 20:53:42

标签: javafx gluon-mobile

我试过使用函数

SwingFXUtils.fromFXImage

引发NoClassFoundError异常。如何在Gluon mobile上保存图像?

1 个答案:

答案 0 :(得分:1)

Android上支持

SwingFXUtils或任何与Swing相关的类。

根据您的评论,您正在使用Charm Down PicturesService从相机中检索图像并将其显示在ImageView控件上:

Services.get(PicturesService.class).ifPresent(service -> 
    service.takePhoto(false).ifPresent(imageView::setImage));

现在您要将该图像保存到设备上的私人/公共存储位置。

如果您检查takePhoto的{​​{3}},它有一个savePhoto参数,可用于保存图片:

// take photo and save picture
Services.get(PicturesService.class).ifPresent(service -> 
    service.takePhoto(true).ifPresent(imageView::setImage));

现在,如果您有API的实施方式,您可以在外部存储空间下找到照片:

File photo = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "IMG_"+ timeStamp + ".jpg");

您可以在/sdcard/Pictures

下轻松访问该文件夹

此外,您可以使用StorageServicegetPublicStorage("Pictures"),并通过目录检索最后添加的文件:

File picturesDir = Services.get(StorageService.class)
            .flatMap(s -> s.getPublicStorage("Pictures"))
            .orElseThrow(() -> new RuntimeException("Error retrieving public storage")); 
for (File pic : picturesDir.listFiles()) {
        System.out.println("file " + pic.getName());
}