File Save
FileSaveDialog ist ein modales Dialogfeld, das den Benutzern ermöglicht, eine Datei an einem bestimmten Ort im Server-Dateisystem zu speichern. Der Dialog blockiert die Ausführung der App, bis der Benutzer einen Dateinamen angibt und die Aktion bestätigt oder den Dialog abbricht.
Usos
Der FileSaveDialog bietet eine vereinfachte Methode zum Speichern von Dateien im Dateisystem und bietet benutzerkonfigurierbare Optionen für die Benennung von Dateien und den Umgang mit vorhandenen Dateien.
Code anzeigen
- FileSaveDialogBasicView.java
Ergebnis
Der FileSaveDialog gibt den ausgewählten Pfad als String zurück. Wenn der Benutzer den Dialog abbricht, wird das Ergebnis null sein.
Dieser Dialog verursacht tatsächlich keine Dateispeicherung, sondern gibt den vom Benutzer ausgewählten Dateinamen zurück.
Der resultierende String wird von der Methode show() oder der entsprechenden OptionDialog-Methode zurückgegeben, wie unten gezeigt.
String result = OptionDialog.showFileSaveDialog(
"Speichern Sie Ihre Datei", "/home/user/documents", "report.xls");
if (result != null) {
OptionDialog.showMessageDialog("Datei gespeichert unter: " + path, "Pfad ausgewählt");
} else {
OptionDialog.showMessageDialog("Kein Pfad ausgewählt", "Pfad ausgewählt",
MessageDialog.MessageType.ERROR);
}
Existiert-Aktion
Der FileSaveDialog bietet konfigurierbares Verhalten, wenn eine Datei mit dem angegebenen Namen bereits exists:
- ACCEPT_WITHOUT_ACTION: Die Auswahl wird ohne zusätzliche Benutzeraktion akzeptiert.
- ERROR_DIALOGUE: Der Benutzer erhält einen Fehlermeldungsdialog; die Auswahl ist nicht erlaubt.
- CONFIRMATION_DIALOGUE: Der Benutzer erhält einen Dialog, der um Bestätigung bittet. Dies ist die Voreinstellung.
FileSaveDialog dialog = new FileSaveDialog(
"Speichern Sie Ihre Datei", "/home/user/documents", "report.xls");
dialog.setExistsAction(FileSaveDialog.ExistsAction.ERROR_DIALOGUE);
String result = dialog.show();
Auswahlmodus
Der FileSaveDialog unterstützt verschiedene Auswahlmodi, die es Ihnen ermöglichen, die Auswahlmethode an Ihre spezifischen Bedürfnisse anzupassen:
- DATEIEN: Ermöglicht die Auswahl von Dateien.
- VERZEICHNISSE: Ermöglicht die Auswahl von Verzeichnissen.
- DATEIEN_UND_VERZEICHNISSE: Ermöglicht die Auswahl sowohl von Dateien als auch von Verzeichnissen.
Initialer Pfad
Geben Sie das Verzeichnis an, in dem der Dialog geöffnet wird, indem Sie den anfänglichen Pfad verwenden. Dies hilft den Benutzern, in einem logischen Verzeichnis für ihre Speicheroperationen zu beginnen.
FileSaveDialog dialog = new FileSaveDialog(
"Speichern Sie Ihre Datei", "/home/user/documents", "report.xls");
String result = dialog.show();
Einschränkung
Sie können den Dialog auf ein spezifisches Verzeichnis beschränken, sodass Benutzer nicht außerhalb davon navigieren können, indem Sie die Methode setRestricted(boolean restricted) verwenden.
FileSaveDialog dialog = new FileSaveDialog(
"Speichern Sie Ihre Datei", "/home/user/documents", "report.xls");
dialog.setRestricted(true);
dialog.show();
Dateiname
Legen Sie einen Standarddateinamen für die Speicheroperation fest, um die Benutzer zu leiten und Fehler zu minimieren.
FileSaveDialog dialog = new FileSaveDialog("Speichern Sie Ihre Datei");
dialog.setName("report.xls");
String result = dialog.show();
Internationalisierung (i18n)
Die Titel, Beschreibungen, Labels und Nachrichten innerhalb der Komponente sind vollständig anpassbar mit der Klasse FileSaveI18n. Dies stellt sicher, dass der Dialog an verschiedene Lokalisierungs- oder Personalisierungsanforderungen angepasst werden kann.
FileSaveDialog dialog = new FileSaveDialog("Speichern Sie Ihre Datei");
FileChooserI18n i18n = new FileChooserI18n();
i18n.setChoose("Wählen");
i18n.setCancel("Abbrechen");
dialog.setI18n(i18n);
Filter
Der FileSaveDialog ermöglicht es Ihnen, Filter festzulegen, um die Arten von Dateien, die gespeichert werden können, mit der Methode setFilters(List<FileSaveFilter> filters) einzuschränken.
Code anzeigen
- FileSaveDialogFiltersView.java
Benutzerdefinierte Filter
Sie können benutzerdefinierte Filter aktivieren, um es den Benutzern zu ermöglichen, ihre eigenen Dateifilter mit der Methode setCustomFilters(boolean customFilters) zu definieren. Filter werden standardmäßig im lokalen Speicher gespeichert und bei nachfolgenden Dialogaufrufen wiederhergestellt.
FileSaveDialog dialog = new FileSaveDialog("Speichern Sie Ihre Datei", "/home/user/documents");
dialog.setCustomFilters(true);
String result = dialog.show();
Best Practices
- Vordefinierte Dateinamen: Stellen Sie, wo möglich, einen logischen Standarddateinamen bereit.
- Bestätigen Sie Überschreibungen: Verwenden Sie
CONFIRMATION_DIALOGUEfürExistsAction, um versehentliche Überschreibungen zu verhindern. - Intuitiver anfänglicher Pfad: Legen Sie einen anfänglichen Pfad fest, der den Erwartungen der Benutzer entspricht.
- Internationalisierung: Passen Sie den Dialogtext an, um die Benutzerfreundlichkeit für internationale Zielgruppen zu verbessern.
- Dateitypfilter: Nutzen Sie Filter, um Dateitypen einzuschränken und die Benutzer zu gültigen Dateierweiterungen zu leiten.