我在 javafx 中创建了一个小型应用程序,其中必须选择 JPG、PNG 或 GIF 图像才能使用。这是用于过滤文件的代码:
FileChooserBuilder fcb = FileChooserBuilder.create();
FileChooser fc = fcb.title("Open Dialog").initialDirectory(new File(currentDir)).build();
//Set extension filter
FileChooser.ExtensionFilter extFilterJPG = new FileChooser.ExtensionFilter("JPG files (*.jpg)", "*.JPG");
FileChooser.ExtensionFilter extFilterPNG = new FileChooser.ExtensionFilter("PNG files (*.png)", "*.PNG");
FileChooser.ExtensionFilter extFilterGIF = new FileChooser.ExtensionFilter("GIF files (*.gif)", "*.GIF");
fc.getExtensionFilters().addAll(extFilterJPG, extFilterPNG, extFilterGIF);
selectedFile = fc.showOpenDialog(link);
此代码在 Windows 7 中运行良好。但在 Ubuntu 中使用它时,它并没有显示所有带有 JPG、PNG 或 GIF 的文件。它显示了一些,但我无法完全弄清楚它为什么这样做。