Overslaan naar hoofdinhoud

File Chooser

Openen in ChatGPT
Schaduw 24.02
Java API

FileChooserDialog is een modaal dialoogvenster dat is ontworpen om de gebruiker in staat te stellen een bestand of een map uit het besturingssysteem van de server te selecteren. Het dialoogvenster blokkeert de uitvoering van de app totdat de gebruiker een keuze maakt of het dialoogvenster sluit.

Usages

De FileChooserDialog biedt een manier om bestanden of mappen uit het bestandssysteem te selecteren, zodat gebruikers mappen kunnen kiezen voor het opslaan van gegevens of bestandbewerkingen kunnen uitvoeren.

Toon Code

Result

De FileChooserDialog retourneert het geselecteerde bestand of de map als een string. Als de gebruiker het dialoogvenster sluit zonder een selectie te maken, is het resultaat null.

info

De resulterende string wordt geretourneerd vanuit de show()-methode, of de equivalente OptionDialog-methode zoals hieronder weergegeven.

String result = OptionDialog.showFileChooserDialog(
"Selecteer een bestand", "/home/user", FileChooserDialog.SelectionMode.FILES);

if (result != null) {
OptionDialog.showMessageDialog("Je hebt geselecteerd: " + result, "Selectie gemaakt");
} else {
OptionDialog.showMessageDialog("Geen selectie gemaakt", "Selectie geannuleerd");
}

Selection mode

De FileChooserDialog ondersteunt verschillende selectiemodi, zodat je de selectiemethode kunt afstemmen op je specifieke behoeften:

  1. FILES: Staat alleen de selectie van bestanden toe.
  2. DIRECTORIES: Staat alleen de selectie van mappen toe.
  3. FILES_AND_DIRECTORIES: Staat de selectie van zowel bestanden als mappen toe.

Initial path

De FileChooserDialog stelt je in staat om een initiële pad op te geven waar het dialoogvenster naar opent wanneer het wordt weergegeven. Dit kan gebruikers een startpunt bieden voor hun bestandselectie.

FileChooserDialog dialog = new FileChooserDialog("Selecteer een bestand", "/home/user");
String result = dialog.show();

Restriction

Je kunt het dialoogvenster beperken tot een specifieke map, zodat gebruikers niet buiten deze map kunnen navigeren met de setRestricted(boolean restricted)-methode.

FileChooserDialog dialog = new FileChooserDialog("Selecteer een bestand", "/home/user");
dialog.setRestricted(true);
dialog.show();

Filters

Wanneer de selectiemodus FILES is, staat de FileChooserDialog je toe om filters in te stellen om de soorten bestanden die worden weergegeven te beperken. Je kunt filters configureren met de setFilters(List<FileChooserFilter> filters)-methode.

Toon Code

Custom filters

Je kunt gebruikers in staat stellen om aangepaste filters toe te voegen door de functie voor aangepaste filters in te schakelen met de setCustomFilters(boolean customFilters)-methode. Aangepaste filters worden standaard opgeslagen in de lokale opslag van de browser en hersteld wanneer het dialoogvenster opnieuw wordt weergegeven.

FileChooserDialog dialog = new FileChooserDialog("Selecteer een bestand", "/home/user");
dialog.setCustomFilters(true);
String result = dialog.show();

Internationalization (i18n)

De titels, beschrijvingen, labels en berichten binnen de component zijn volledig aanpasbaar met de FileChooserI18n-klasse. Deze flexibiliteit stelt je in staat om de interface van het dialoogvenster af te stemmen op specifieke lokalisatievereisten of personalisatievoorkeuren.

FileChooserDialog dialog = new FileChooserDialog("Kies een bestand", "/Users/habof/bbx");
FileChooserI18n i18n = new FileChooserI18n();
i18n.setChoose("Kiezen");
i18n.setCancel("Annuleren");
dialog.setI18n(i18n);

Best practices

  1. Duidelijke en Bondige Berichten: Zorg ervoor dat het bericht de gebruiker duidelijk uitlegt wat er wordt gevraagd.
  2. Geschikte Selectiemodi: Kies selectiemodi die overeenkomen met de benodigde gebruikersactie om nauwkeurige en relevante selecties te waarborgen.
  3. Logische Initiële Paden: Stel initiële paden in die gebruikers een nuttig startpunt bieden voor hun selectie.
  4. Beperk Navigatie in Mappen: Beperk het dialoogvenster tot een specifieke map wanneer nodig om te voorkomen dat gebruikers naar ongeoorloofde gebieden navigeren.