mitico!!

allora, apache commons io già la uso.
quindi ho modificato così:
codice:
import org.apache.commons.io.FilenameUtils;

import java.io.File;
import java.io.FilenameFilter;
import java.util.Arrays;

public class ExtensionFilenameFilter implements FilenameFilter {

    private final String[] extensions;

    public ExtensionFilenameFilter(String... extensions) {
        this.extensions = Arrays.stream(extensions).map(String::toLowerCase).toArray(String[]::new);
    }

    @Override
public boolean accept(File dir, String name) {
        String fileExt = FilenameUtils.getExtension(name.toLowerCase());
        for (String extension : extensions) {
            if (fileExt.equals(extension)) {
                return true;
            }
        }

        return false;
    }
}
poi ho modificato il metodo che lista i files:
codice:
import java.io.File;
import java.util.ArrayList;

public class ListFilesDirectory {

    public ArrayList<String> getFilesExts(File dir, String... extensions) {
        ArrayList<String> listfiles = new ArrayList<>();
        if (dir != null) {
            File[] files = dir.listFiles(new ExtensionFilenameFilter(extensions));
            for (File f : files) {
                listfiles.add(f.getAbsolutePath());
            }
        }
        return listfiles;
    }
}
così anche questo dovrebbe essere più generico.
poi a cascata nel controller:
codice:
lid = new ListFilesDirectory();
String[] exts = {"jpg", "jpeg", "png"};
images = lid.getFilesExts(dc.showDialog(getStage().getOwner(), "Choose directory").get(), exts);
funzionare sembra funzionare bene!