Bonjour,
J'aimerais pouvoir ajouter un filtrage multiple à mon JFileChooser pour qu'il m'affiche tous les fichiers de mes filtres en même temps.
Concrètement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 /** * create a JFileChooser * * @return fileChooser */ public JFileChooser createFileChooser(){ JFileChooser fileChooser = new JFileChooser(); // disable allow all format files fileChooser.setAcceptAllFileFilterUsed(false); // add file filter fileChooser.addChoosableFileFilter(new FileExtensionFilter( "JPEG (*.jpg)", ".jpg")); // add file filter fileChooser.addChoosableFileFilter(new FileExtensionFilter( "Portable Network Graphics (*.png)", ".png")); // add file filter fileChooser.addChoosableFileFilter(new FileExtensionFilter( "Graphics Interchange Format (*.gif)", ".gif")); // allow to select only files fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); browseChildren(fileChooser); return fileChooser; }
Donc j'ai ici 3 filtres et j'aimerais un 4eme filtre qui regroupe ces 3 filtres en 1 de ce style là :
Sauf que bien sur, ca ne marche pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 // add file filter fileChooser.addChoosableFileFilter(new FileExtensionFilter( "Image Files (*.jpg, *.png, *.gif)", ".gif, .png, gif"));.
Donc je m'demandais s'il y avait une syntaxe particulière pour faire ca ou bien si j'fallais que j'bidouille en faisant un truc sale.
Ma p'tite classe fileFilter, rien de bien passionnant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 public class FileExtensionFilter extends FileFilter{ private final String description; private final String extension; /** * Constructor * * @param description extension description * @param extension extension */ public FileExtensionFilter(String description, String extension){ // call super super(); this.description = description; this.extension = extension; } /* (non-Javadoc) * @see javax.swing.filechooser.FileFilter#accept(java.io.File) */ /** * */ @Override public boolean accept(File file){ if(file.isDirectory()){ return true; } String fileName = file.getName().toLowerCase(); return fileName.endsWith(extension); } /* (non-Javadoc) * @see javax.swing.filechooser.FileFilter#getDescription() */ /** * */ @Override public String getDescription(){ return description; } /** * @return extension the extension file */ public String getExtension(){ return extension; } }







Répondre avec citation


Partager