Guardar archivo
FileSaveDialog es un diálogo modal diseñado para permitir a los usuarios guardar un archivo en una ubicación especificada 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.
Usos
El FileSaveDialog proporciona un método simplificado para guardar archivos en el sistema de archivos, ofreciendo opciones configurables por el usuario para el nombramiento de archivos y el manejo de archivos existentes.
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 método equivalente de OptionDialog como se demuestra a continuación.
String result = OptionDialog.showFileSaveDialog(
"Guarde su archivo", "/home/user/documents", "reporte.xls");
if (result != null) {
OptionDialog.showMessageDialog("Ruta seleccionada: " + result, "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 es aceptada sin acción adicional del usuario.
- ERROR_DIALOGUE: Se presenta al usuario un diálogo de error; la selección no está permitida.
- CONFIRMATION_DIALOGUE: Se presenta al usuario un diálogo solicitando confirmación. Este es el predeterminado.
FileSaveDialog dialog = new FileSaveDialog(
"Guarde su archivo", "/home/user/documents", "reporte.xls");
dialog.setExistsAction(FileSaveDialog.ExistsAction.ERROR_DIALOGUE);
String result = dialog.show();
Modo de selección
El FileSaveDialog admite diferentes modos de selección, permitiéndole personalizar el método de selección según sus necesidades específicas:
- FILES: Permite la selección de archivos solamente.
- DIRECTORIES: Permite la selección de directorios solamente.
- FILES_AND_DIRECTORIES: 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", "reporte.xls");
String result = dialog.show();
Restricción
Puede restringir el diálogo a un directorio específico, evitando que los usuarios naveguen fuera de él utilizando el método setRestricted(boolean restricted).
FileSaveDialog dialog = new FileSaveDialog(
"Guarde su archivo", "/home/user/documents", "reporte.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("reporte.xls");
String result = dialog.show();
Internacionalización (i18n)
Utilice FileChooserI18n para personalizar los títulos, descripciones, etiquetas y mensajes del diálogo para diferentes locales o requisitos de la aplicació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<FileChooserFilter> filters).
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 por defecto 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 Archivo Predefinidos: Proporcione un nombre de archivo predeterminado lógico cuando sea aplicable.
- Confirmar Sobreescrituras: Use
CONFIRMATION_DIALOGUEparaExistsActionpara evitar sobreescrituras 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 tipos de archivos y guiar a los usuarios hacia extensiones de archivos válidas.
