Diálogo de Selección de Archivos
FileChooserDialog
es un cuadro de diálogo modal diseñado para permitir que el usuario seleccione 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 realice una selección o cierre el diálogo.
OptionDialog.showFileChooserDialog("Seleccione un archivo");
Usos
El FileChooserDialog
proporciona una forma 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
- 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 se devolverá del método show()
, o del método equivalente de OptionDialog
como se muestra a continuación.
String result = OptionDialog.showFileChooserDialog(
"Seleccione un archivo", "/home/user", FileChooserDialog.SelectionMode.FILES);
if (result != null) {
OptionDialog.showMessageDialog("Usted seleccionó: " + result, "Selección Realizada");
} else {
OptionDialog.showMessageDialog("No se realizó selección", "Selección Cancelada");
}
Modo de selección
El FileChooserDialog
admite diferentes modos de selección, permitiendo ajustar el método de selección a sus necesidades específicas:
- FILES: Permite la selección de solo archivos.
- DIRECTORIES: Permite la selección de solo directorios.
- 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("Seleccione un archivo", "/home/user");
String result = dialog.show();
Restricción
Puede 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("Seleccione un archivo", "/home/user");
dialog.setRestricted(true);
dialog.show();
Filtros
Cuando el modo de selección es FILES
, el FileChooserDialog
permite establecer filtros para limitar los tipos de archivos que se enumeran. Puede configurar filtros utilizando el método setFilters(List<FileChooserFilter> filters)
.
Mostrar Código
- Java
Filtros personalizados
Puede permitir que los usuarios agreguen filtros personalizados habilitando la función de filtros personalizados utilizando el método setCustomFilters(boolean customFilters)
. Los filtros personalizados se guardarán en el almacenamiento local del navegador de manera predeterminada y se restaurarán cuando se muestre el diálogo nuevamente.
FileChooserDialog dialog = new FileChooserDialog("Seleccione 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 le permite adaptar la interfaz del diálogo para satisfacer requisitos de localización específicos o preferencias de personalización.
FileChooserDialog dialog = new FileChooserDialog("Seleccione un archivo", "/Users/habof/bbx");
FileChooserI18n i18n = new FileChooserI18n();
i18n.setChoose("Elegir");
i18n.setCancel("Cancelar");
dialog.setI18n(i18n);
Mejores prácticas
- Indicaciones Claras y Concisas: Asegúrese de que el mensaje de indicación explique claramente lo que se le pide al usuario seleccionar.
- Modos de Selección Apropiados: Elija modos de selección que coincidan con la acción requerida del usuario para asegurar selecciones precisas y relevantes.
- Rutas Iniciales Lógicas: Establezca rutas iniciales que proporcionen a los usuarios un punto de partida útil para su selección.
- Restringir la Navegación por Directorios: Restringa el diálogo a un directorio específico cuando sea necesario para evitar que los usuarios naveguen hacia áreas no autorizadas.