pour ouvrir ou annuler un jfile chooser il me faut un double clic sur ces 2 boutons et je sais pas pourkoi ????
et je veux d aide????
pour ouvrir ou annuler un jfile chooser il me faut un double clic sur ces 2 boutons et je sais pas pourkoi ????
et je veux d aide????
Il faudrait que tu nous montres un peu ton code, pour qu'on puisse te donner des éléments de réponse :-)
Cordialement
voici le code : ou j ai instancié un jfilechooser:
et voici la classe de jifilechooser:
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 public class TableDemo extends JFrame implements ActionListener { private boolean DEBUG = false; String chemin; private JMenu fichier; private JMenuItem ouvrir; private JMenuItem imprimer; private JMenuItem fermer; public void actionPerformed(ActionEvent e){ Object source = e.getSource(); if(source == ouvrir){ FiltreSimple DBF = new FiltreSimple("Fichiers dbf",".dbf"); JFileChooser chooser = new JFileChooser("."); chooser.addChoosableFileFilter(DBF); chooser.setCurrentDirectory(new File("/")); chooser.changeToParentDirectory(); chooser.showOpenDialog(null); if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { chemin=(String)chooser.getSelectedFile().getAbsolutePath(); //si un fichier est selectionné, récupérer le fichier puis sont path et l'afficher dans le champs de texte System.out.println(chemin); view1 view = new view1(); boolean bol=false; add(view); if(bol==false){ imprimer=new JMenuItem("imprimer"); fichier.add(imprimer); imprimer.addActionListener(this); fermer=new JMenuItem("fermer"); fichier.add(fermer); fermer.addActionListener(this); validate();} if(source==fermer){remove(view); validate();} }} }
et merci
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 public class FiltreSimple extends FileFilter{ //Description et extension acceptée par le filtre private String description; private String extension; //Constructeur à partir de la description et de l'extension acceptée public FiltreSimple(String description, String extension){ if(description == null || extension ==null){ throw new NullPointerException("La description (ou extension) ne peut être null."); } this.description = description; this.extension = extension; } //Implémentation de FileFilter public boolean accept(File file){ if(file.isDirectory()) { return true; } String nomFichier = file.getName().toLowerCase(); return nomFichier.endsWith(extension); } public String getDescription(){ return description; } }
dans le premier code que tu as fait, moi, je n'ai pas mis l'instruction
essaie dde faire la même chose sans cette instructin pour voir
Code : Sélectionner tout - Visualiser dans une fenêtre à part chooser.showOpenDialog(null);
Il me semble qu'il y a des problèmes d'accolades dans ton code, formates le correctement avec les bonnes indentations pour t'en rendre compte.
Je pense que cela devrait mieux correspondre à ce que tu veux :
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 public void actionPerformed(ActionEvent e){ Object source = e.getSource(); if(source == ouvrir){ FiltreSimple DBF = new FiltreSimple("Fichiers dbf",".dbf"); JFileChooser chooser = new JFileChooser("."); chooser.addChoosableFileFilter(DBF); chooser.setCurrentDirectory(new File("/")); chooser.changeToParentDirectory(); if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { chemin=chooser.getSelectedFile().getAbsolutePath(); // si un fichier est selectionné, récupérer le fichier puis // sont path et l'afficher dans le champs de texte System.out.println(chemin); view1 view = new view1(); boolean bol=false; add(view); if(bol==false){ imprimer=new JMenuItem("imprimer"); fichier.add(imprimer); imprimer.addActionListener(this); fermer=new JMenuItem("fermer"); fichier.add(fermer); fermer.addActionListener(this); validate(); } } } if(source==fermer){ remove(view); validate(); } }
mais ou est la difference???
Partager