Passer au contenu principal

File Save

Ouvrir dans ChatGPT
Ombre 24.21
Java API

FileSaveDialog est une boîte de dialogue modale conçue pour permettre aux utilisateurs d'enregistrer un fichier à un emplacement spécifié sur le système de fichiers du serveur. La boîte de dialogue bloque l'exécution de l'application jusqu'à ce que l'utilisateur fournisse un nom de fichier et confirme l'action ou annule la boîte de dialogue.

Usages

Le FileSaveDialog offre une méthode simplifiée pour enregistrer des fichiers sur le système de fichiers, offrant des options configurables par l'utilisateur pour le nommage des fichiers et la gestion des fichiers existants.

Afficher le code

Resultat

Le FileSaveDialog renvoie le chemin sélectionné sous forme de chaîne. Si l'utilisateur annule la boîte de dialogue, le résultat sera null.

But de la boîte de dialogue

Cette boîte de dialogue ne permet pas réellement d'enregistrer des fichiers mais renvoie le nom de fichier que l'utilisateur a sélectionné.

info

La chaîne résultante est renvoyée par la méthode show() ou l'équivalent de la méthode OptionDialog comme démontré ci-dessous.

String result = OptionDialog.showFileSaveDialog(
"Enregistrez votre fichier", "/home/user/documents", "report.xls");

if (result != null) {
OptionDialog.showMessageDialog("Fichier enregistré dans : " + path, "Chemin sélectionné");
} else {
OptionDialog.showMessageDialog("Aucun chemin n'est sélectionné", "Chemin sélectionné",
MessageDialog.MessageType.ERROR);
}

Action existante

Le FileSaveDialog fournit un comportement configurable lorsqu'un fichier avec le nom spécifié existe déjà :

  • ACCEPT_WITHOUT_ACTION : La sélection est acceptée sans action supplémentaire de l'utilisateur.
  • ERROR_DIALOGUE : L'utilisateur se voit présenter une boîte de dialogue d'erreur ; la sélection n'est pas autorisée.
  • CONFIRMATION_DIALOGUE : L'utilisateur se voit présenter une boîte de dialogue demandant confirmation. C'est le comportement par défaut.
FileSaveDialog dialog = new FileSaveDialog(
"Enregistrez votre fichier", "/home/user/documents", "report.xls");
dialog.setExistsAction(FileSaveDialog.ExistsAction.ERROR_DIALOGUE);
String result = dialog.show();

Mode de sélection

Le FileSaveDialog prend en charge différents modes de sélection, vous permettant d'adapter la méthode de sélection à vos besoins spécifiques :

  1. FILES : Permet la sélection uniquement des fichiers.
  2. DIRECTORIES : Permet la sélection uniquement des répertoires.
  3. FILES_AND_DIRECTORIES : Permet la sélection à la fois des fichiers et des répertoires.

Chemin initial

Spécifiez le répertoire où la boîte de dialogue s'ouvrira en utilisant le chemin initial. Cela aide les utilisateurs à commencer dans un répertoire logique pour leur opération d'enregistrement.

FileSaveDialog dialog = new FileSaveDialog(
"Enregistrez votre fichier", "/home/user/documents", "report.xls");
String result = dialog.show();

Restriction

Vous pouvez restreindre la boîte de dialogue à un répertoire spécifique, empêchant les utilisateurs de naviguer en dehors de celui-ci en utilisant la méthode setRestricted(boolean restricted).

FileSaveDialog dialog = new FileSaveDialog(
"Enregistrez votre fichier", "/home/user/documents", "report.xls");
dialog.setRestricted(true);
dialog.show();

Nom de fichier

Définissez un nom de fichier par défaut pour l'opération d'enregistrement afin de guider les utilisateurs et de minimiser les erreurs.

FileSaveDialog dialog = new FileSaveDialog("Enregistrez votre fichier");
dialog.setName("report.xls");
String result = dialog.show();

Internationalisation (i18n)

Les titres, descriptions, étiquettes et messages au sein du composant sont entièrement personnalisables à l'aide de la classe FileSaveI18n. Cela garantit que la boîte de dialogue peut être adaptée à diverses exigences de localisation ou de personnalisation.

FileSaveDialog dialog = new FileSaveDialog("Enregistrer votre fichier");
FileChooserI18n i18n = new FileChooserI18n();
i18n.setChoose("Choisir");
i18n.setCancel("Annuler");
dialog.setI18n(i18n);

Filtres

Le FileSaveDialog vous permet de définir des filtres pour limiter les types de fichiers pouvant être enregistrés à l'aide de la méthode setFilters(List<FileSaveFilter> filters).

Afficher le code

Filtres personnalisés

Vous pouvez activer des filtres personnalisés pour permettre aux utilisateurs de définir leurs propres filtres de fichiers en utilisant la méthode setCustomFilters(boolean customFilters). Les filtres sont enregistrés dans le stockage local par défaut et restaurés lors des invocations suivantes de la boîte de dialogue.

FileSaveDialog dialog = new FileSaveDialog("Enregistrez votre fichier", "/home/user/documents");
dialog.setCustomFilters(true);
String result = dialog.show();

Meilleures pratiques

  • Noms de fichiers prédéfinis : Fournissez un nom de fichier par défaut logique lorsque cela est applicable.
  • Confirmer les écrasements : Utilisez CONFIRMATION_DIALOGUE pour ExistsAction afin d'éviter les écrasements accidentels.
  • Chemin initial intuitif : Définissez un chemin initial qui correspond aux attentes des utilisateurs.
  • Internationalisation : Personnalisez le texte de la boîte de dialogue pour améliorer l'utilisabilité pour les publics internationaux.
  • Filtres de types de fichiers : Profitez des filtres pour restreindre les types de fichiers et guider les utilisateurs vers des extensions de fichiers valides.