Codenameone 如何获取从Display.getInstance().openGallery()中选择的文件名(代码名为One)?

Codenameone 如何获取从Display.getInstance().openGallery()中选择的文件名(代码名为One)?,codenameone,Codenameone,我想检索从图像库中选择并在标签/imageviewer中以我的形式打开的文件的名称 我需要该名称,因为我正在数据库中保存文件路径,并且我希望将该文件名连接到存储图像的固定路径 自从Display.getInstance().openGallery()将文件存储在临时文件夹中以来,我一直无法这样做,而FileSystemStorage没有帮助,因为它没有使用原始文件名(而不是新用户定义的文件名)进行保存 代码如下: uploadImg.addActionListener(e -> {

我想检索从图像库中选择并在标签/imageviewer中以我的形式打开的文件的名称

我需要该名称,因为我正在数据库中保存文件路径,并且我希望将该文件名连接到存储图像的固定路径

自从Display.getInstance().openGallery()将文件存储在临时文件夹中以来,我一直无法这样做,而FileSystemStorage没有帮助,因为它没有使用原始文件名(而不是新用户定义的文件名)进行保存

代码如下:

    uploadImg.addActionListener(e -> {

        Display.getInstance().openGallery(evt -> {
            String filePath = (String) evt.getSource();

            int fileNameIndex = filePath.lastIndexOf("/") + 1;
            String fileName = filePath.substring(fileNameIndex);
            System.out.println(fileName);

            System.out.println(filePath);
            try {
                InputStream is = FileSystemStorage.getInstance().openInputStream(filePath);
                Image i = Image.createImage(is);

                Image listingMask = resourceObjectInstance.getImage("refimg2.jpg");

                imgLabel.setIcon(i.fill(listingMask.getWidth(), listingMask.getHeight()));

                imgLabel.setHidden(false);
                refreshTheme();
            } catch (IOException ex) {
                System.out.println(ex);
            }

        }, Display.GALLERY_IMAGE);
    });
例如,以下是我打印不同文件路径时得到的结果:

temp7907640882397406003..jpg 文件:/C:/Users/User/AppData/Local/Temp/temp7907640882397406003..jpg

我想知道是否有办法获得图像库中显示的文件名,例如:“hello.png”


还有,我有两个日期微调器。一个是某个事件的开始日期,另一个是它的结束日期。我希望第二个datespinner的起始值根据在第一个datespinner中选择的内容动态更改。我怎样才能做到这一点?否则,是否还有其他方法可以使用

提前谢谢

编辑:打字错误

编辑2:日期微调器。

有一个:


在上面的代码段中,变量file的内容包含文件的绝对路径。如何仅自动检索图像的文件名(无路径?
name.substring(name.lastIndexOf(“/”)+1)
hi.getToolbar().addCommandToRightBar(new Command("", icon) {
    @Override
    public void actionPerformed(ActionEvent evt) {
        Display.getInstance().openGallery((e) -> {
            if(e != null && e.getSource() != null) {
                String file = (String)e.getSource();
                try {
                    Media video = MediaManager.createMedia(file, true);
                    hi.removeAll();
                    hi.add(BorderLayout.CENTER, new MediaPlayer(video));
                    hi.revalidate();
                } catch(IOException err) {
                    Log.e(err);
                } 
            }
        }, Display.GALLERY_VIDEO);
    }
});