La boîte de dialogue de fichier est une interface de sélection de fichiers. La classe JFileChooser du package Javax.swing peut créer une boîte de dialogue de fichier. Utilisez le constructeur JFileChooser() de cette classe pour créer une boîte de dialogue de fichier modal initialement invisible. Ensuite, la boîte de dialogue de fichier appelle les 2 méthodes suivantes :
showSaveDialog(Componenta);showOpenDialog(Componenta);
Les deux peuvent rendre la boîte de dialogue visible, mais l'apparence est différente. La méthode showSaveDialog fournit une interface pour enregistrer les fichiers et la méthode showOpenDialog fournit une interface pour ouvrir les fichiers. Le paramètre a dans les deux méthodes ci-dessus spécifie la position de la boîte de dialogue lorsqu'elle est visible. Lorsque a est nul, la boîte de dialogue de fichier apparaît au centre de l'écran ; si le composant a n'est pas vide, la boîte de dialogue de fichier est affichée. centré devant le composant a.
L'utilisateur clique sur l'icône « OK », « Annuler » ou « Fermer » dans la boîte de dialogue du fichier, la boîte de dialogue du fichier disparaîtra et la méthode ShowSaveDialog() ou showOpenDialog() renvoie l'une des constantes suivantes :
JFileChooser.APPROVEOPTIONJFileChooser.CANCEL_OPTION
Si vous souhaitez que les types de fichiers dans la boîte de dialogue de fichier soient les types requis par l'utilisateur, par exemple des fichiers avec des extensions telles que .jpeg et d'autres types d'images, vous pouvez utiliser la classe FileNameExtensionFilter pour créer un objet à l'avance dans JDK. version 1.6, la classe FileNameExtensionFilter se trouve dans javax.swing dans le package filechooser.
Par exemple:
FileNameExtensionFilterfilter=newFileNameExtensionFilter (fichier image, jpg, gif);
Laissez ensuite la boîte de dialogue de fichier appeler la méthode setFileFilter(FileNameExtensionFilter filter) pour définir le type de fichier que la boîte de dialogue ouvre ou affiche par défaut sur le type spécifié par le paramètre, par exemple :
Chooser.setFileFilter(filtre);