File Chooser
FileChooserDialog es un diálogo modal diseñado para permitir al usuario seleccionar un archivo o un directorio del sistema de archivos del servidor. El diálogo bloquea la ejecución de la aplicación hasta que el usuario hace una selección o cierra el diálogo.
Usos
El FileChooserDialog proporciona una manera de seleccionar archivos o directorios del sistema de archivos, permitiendo a los usuarios elegir directorios para guardar datos, o realizar operaciones con archivos.
Mostrar Código
- FileChooserDialogBasicView.java
Resultado
El FileChooserDialog devuelve el archivo o directorio seleccionado como una cadena. Si el usuario cierra el diálogo sin hacer una selección, el resultado será null.
La cadena resultante será devuelta del método show(), o el método equivalente de OptionDialog como se muestra a continuación.
String result = OptionDialog.showFileChooserDialog(
"Seleccionar un archivo", "/home/user", FileChooserDialog.SelectionMode.FILES);
if (result != null) {
OptionDialog.showMessageDialog("Has seleccionado: " + result, "Selección Realizada");
} else {
OptionDialog.showMessageDialog("No se hizo ninguna selección", "Selección Cancelada");
}
Modo de selección
El FileChooserDialog soporta diferentes modos de selección, permitiéndote personalizar el método de selección a tus necesidades específicas:
- FILES: Permite la selección de archivos únicamente.
- DIRECTORIES: Permite la selección de directorios únicamente.
- FILES_AND_DIRECTORIES: Permite la selección de archivos y directorios.
Ruta inicial
El FileChooserDialog permite especificar una ruta inicial que el diálogo abrirá al mostrarse. Esto puede proporcionar a los usuarios un punto de partida para su selección de archivos.
FileChooserDialog dialog = new FileChooserDialog("Seleccionar un archivo", "/home/user");
String result = dialog.show();
Restricción
Puedes restringir el diálogo a un directorio específico, impidiendo que los usuarios naveguen fuera de él utilizando el método setRestricted(boolean restricted).
FileChooserDialog dialog = new FileChooserDialog("Seleccionar un archivo", "/home/user");
dialog.setRestricted(true);
dialog.show();
Filtros
Cuando el modo de selección es FILES, el FileChooserDialog te permite establecer filtros para limitar los tipos de archivos que se enumeran. Puedes configurar filtros utilizando el método setFilters(List<FileChooserFilter> filters).
Mostrar Código
- FileChooserDialogFiltersView.java
Filtros personalizados
Puedes permitir que los usuarios agreguen filtros personalizados habilitando la función de filtros personalizados mediante el método setCustomFilters(boolean customFilters). Los filtros personalizados se guardarán en el almacenamiento local del navegador de forma predeterminada y se restaurarán cuando el diálogo se muestre de nuevo.
FileChooserDialog dialog = new FileChooserDialog("Seleccionar un archivo", "/home/user");
dialog.setCustomFilters(true);
String result = dialog.show();
Internacionalización (i18n)
Los títulos, descripciones, etiquetas y mensajes dentro del componente son completamente personalizables utilizando la clase FileChooserI18n. Esta flexibilidad te permite adaptar la interfaz del diálogo para cumplir con requisitos específicos de localización o preferencias de personalización.
FileChooserDialog dialog = new FileChooserDialog("Wählen Sie eine Datei aus", "/Users/habof/bbx");
FileChooserI18n i18n = new FileChooserI18n();
i18n.setChoose("Wählen");
i18n.setCancel("Stornieren");
dialog.setI18n(i18n);
Mejores prácticas
- Solicitudes claras y concisas: Asegúrate de que el mensaje de solicitud explique claramente lo que se le pide al usuario seleccionar.
- Modos de selección apropiados: Elige modos de selección que coincidan con la acción requerida del usuario para asegurar selecciones precisas y relevantes.
- Rutas iniciales lógicas: Establece rutas iniciales que proporcionen a los usuarios un punto de partida útil para su selección.
- Restringir la navegación por directorios: Restringe el diálogo a un directorio específico cuando sea necesario para evitar que los usuarios naveguen a áreas no autorizadas.