Diálogo de Guardado de Archivos
FileSaveDialog
es un cuadro de diálogo modal diseñado para permitir a los usuarios guardar un archivo en una ubicación específica en el sistema de archivos del servidor. El diálogo bloquea la ejecución de la aplicación hasta que el usuario proporciona un nombre de archivo y confirma la acción o cancela el diálogo.
OptionDialog.showFileSaveDialog("Guarde su archivo");
Usos
El FileSaveDialog
proporciona un método simplificado para guardar archivos en el sistema de archivos, ofreciendo opciones configurables por el usuario para el nombrado de archivos y el manejo de archivos existentes.
Mostrar Código
- Java
Resultado
El FileSaveDialog
devuelve la ruta seleccionada como una cadena. Si el usuario cancela el diálogo, el resultado será null
.
Este diálogo no causa realmente que se guarden archivos, sino que devuelve el nombre de archivo que el usuario ha seleccionado.
La cadena resultante se devuelve desde el método show()
o el equivalente método OptionDialog
como se demuestra a continuación.
String result = OptionDialog.showFileSaveDialog(
"Guarde su archivo", "/home/user/documents", "informe.xls");
if (result != null) {
OptionDialog.showMessageDialog("Archivo guardado en: " + path, "Ruta Seleccionada");
} else {
OptionDialog.showMessageDialog("No se ha seleccionado ninguna ruta", "Ruta Seleccionada",
MessageDialog.MessageType.ERROR);
}
Acción de Existencia
El FileSaveDialog
proporciona un comportamiento configurable cuando un archivo con el nombre especificado ya existe:
- ACCEPT_WITHOUT_ACTION: La selección se acepta sin acción adicional del usuario.
- ERROR_DIALOGUE: Se presenta un cuadro de diálogo de error al usuario; la selección no está permitida.
- CONFIRMATION_DIALOGUE: Se presenta un cuadro de diálogo al usuario solicitando confirmación. Esta es la opción predeterminada.
FileSaveDialog dialog = new FileSaveDialog(
"Guarde su archivo", "/home/user/documents", "informe.xls");
dialog.setExistsAction(FileSaveDialog.ExistsAction.ERROR_DIALOGUE);
String result = dialog.show();
Modo de Selección
El FileSaveDialog
admite diferentes modos de selección, lo que le permite adaptar el método de selección a sus necesidades específicas:
- ARCHIVOS: Permite la selección solo de archivos.
- DIRECTORIOS: Permite la selección solo de directorios.
- ARCHIVOS_Y_DIRECTORIOS: Permite la selección de archivos y directorios.
Ruta Inicial
Especifique el directorio donde se abrirá el diálogo utilizando la ruta inicial. Esto ayuda a los usuarios a comenzar en un directorio lógico para su operación de guardado.
FileSaveDialog dialog = new FileSaveDialog(
"Guarde su archivo", "/home/user/documents", "informe.xls");
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)
.
FileSaveDialog dialog = new FileSaveDialog(
"Guarde su archivo", "/home/user/documents", "informe.xls");
dialog.setRestricted(true);
dialog.show();
Nombre de Archivo
Establezca un nombre de archivo predeterminado para la operación de guardado para guiar a los usuarios y minimizar errores.
FileSaveDialog dialog = new FileSaveDialog("Guarde su archivo");
dialog.setName("informe.xls");
String result = dialog.show();
Internacionalización (i18n)
Los títulos, descripciones, etiquetas y mensajes dentro del componente son completamente personalizables utilizando la clase FileSaveI18n
. Esto asegura que el diálogo se pueda adaptar a varios requisitos de localización o personalización.
FileSaveDialog dialog = new FileSaveDialog("Guarde su archivo");
FileChooserI18n i18n = new FileChooserI18n();
i18n.setChoose("Elegir");
i18n.setCancel("Cancelar");
dialog.setI18n(i18n);
Filtros
El FileSaveDialog
le permite establecer filtros para limitar los tipos de archivos que se pueden guardar utilizando el método setFilters(List<FileSaveFilter> filters)
.
Mostrar Código
- Java
Filtros Personalizados
Puede habilitar filtros personalizados para permitir a los usuarios definir sus propios filtros de archivos utilizando el método setCustomFilters(boolean customFilters)
. Los filtros se guardan en el almacenamiento local de forma predeterminada y se restauran en invocaciones posteriores del diálogo.
FileSaveDialog dialog = new FileSaveDialog("Guarde su archivo", "/home/user/documents");
dialog.setCustomFilters(true);
String result = dialog.show();
Mejores Prácticas
- Nombres de Archivos Predefinidos: Proporcione un nombre de archivo predeterminado lógico cuando sea aplicable.
- Confirmar Sobrescrituras: Use
CONFIRMATION_DIALOGUE
paraExistsAction
para prevenir sobrescrituras accidentales. - Ruta Inicial Intuitiva: Establezca una ruta inicial que se alinee con las expectativas del usuario.
- Internacionalización: Personalice el texto del diálogo para mejorar la usabilidad para audiencias internacionales.
- Filtros de Tipo de Archivo: Aproveche los filtros para restringir los tipos de archivos y guiar a los usuarios hacia extensiones de archivo válidas.