directory - ejemplo - javafx filechooser controller
JavaFX FileChooser (2)
Me encontré con un pequeño problema ahora con JavaFX. Traté de hacer una selección de archivos en mi código donde puedo señalar una CARPETA en lugar de un archivo. Actualmente no tengo una solución para eso. ¿Conoce una solución (excepto que usa JFileChooser desde swing)?
Muchas gracias por las respuestas de antemano
editar: Ya obtuve una respuesta, tratando de probarla, pero olvidé mencionar la versión de JavaFX. Es el último 2.0.3 estable aquí, lanzado hace unos días (pero el no 2.0 inicial y el 2.0.1 también tenían este problema)
A diferencia de swing, donde JFileChooser se usaba para seleccionar carpetas y archivos individuales, en javafx, hay una clase FileChooser que se usa para elegir archivos individuales y la clase DirectoryChooser para seleccionar el directorio.
DirectoryChooser directoryChooser = new DirectoryChooser();
directoryChooser.setTitle("Open Resource File");
directoryChooser.getExtensionFilters().addAll(
new ExtensionFilter("Text Files", "*.txt"),
new ExtensionFilter("Image Files", "*.png", "*.jpg", "*.gif"),
new ExtensionFilter("Audio Files", "*.wav", "*.mp3", "*.aac"),
new ExtensionFilter("All Files", "*.*"));
File selectedFile = directoryChooser.showDialog(mainStage);
if (selectedFile != null) {
mainStage.display(selectedFile);
}
es un ejemplo de un selector de Directorio.
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Open Folder");
fileChooser.showDialog(stage);
es un ejemplo de selector de archivos
Se agregó un DirectoryChooser a JavaFX como parte de la versión 2.1 . El uso es:
DirectoryChooser chooser = new DirectoryChooser();
chooser.setTitle("JavaFX Projects");
File defaultDirectory = new File("c:/dev/javafx");
chooser.setInitialDirectory(defaultDirectory);
File selectedDirectory = chooser.showDialog(primaryStage);
El rastreador de problemas menciona una solución alternativa para la versión 2.0GA: "acceder al método privado Oracle Glass Glass CommonDialogs.showFolderChooser
".