IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

ouvrir un fichier en utilisant le JMenu et boite de dialogue ouvrir


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 89
    Par défaut ouvrir un fichier en utilisant le JMenu et boite de dialogue ouvrir
    Bonsoir,
    j'utilise un menu pour ouvrir mes fichiers,j'ai appliquer le code suivant:
    http://java.developpez.com/faq/gui/?page=jfilechooser

    j'ai creer une classe FiltreExtensible
    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
    public class FiltreExtensible extends FileFilter{
       //Description et extensions acceptées par le filtre
       private String description;
       private List<String> extensions;
       //Constructeur à partir de la description
       public FiltreExtensible(String description){
          if(description == null){
             throw new NullPointerException("La description ne peut être null.");
          }
          this.description = description;
          this.extensions = new ArrayList<String>();
       }
       //Implémentation de FileFilter
       public boolean accept(File file){
          if(file.isDirectory() || extensions.size()==0) { 
             return true; 
          } 
          String nomFichier = file.getName().toLowerCase(); 
          for(String extension : extensions){
             if(nomFichier.endsWith(extension)){
                return true;
             }
          }
          return false;
       }
       public String getDescription(){
          StringBuffer buffer = new StringBuffer(description);
          buffer.append(" (");
          for(String extension : extensions){
             buffer.append(extension).append(" ");
          }
          return buffer.append(")").toString();
       }
       //Quelques méthodes utilitaires
       public void setDescription(String description){
          if(description == null){
             throw new NullPointerException("La description ne peut être null.");
          }
          this.description = description;
       }
       public void addExtension(String extension){
          if(extension == null){
             throw new NullPointerException("Une extension ne peut être null.");
          }
          extensions.add(extension);
       }
       public void removeExtension(String extension){
          extensions.remove(extension);
       }
       public void clearExtensions(){
          extensions.clear();
       }
       public List<String> getExtensions(){
          return extensions;
       }
    }
    et je l'ai appliqué au boutton ouvrir du menu
    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
    private JMenuItem getMenuItemOpen() {
    		if (menuItemOpen == null) {
    			menuItemOpen = new JMenuItem();
    			menuItemOpen.setText("Ouvrir");
    			menuItemOpen.addActionListener(new java.awt.event.ActionListener() {
    				public void actionPerformed(java.awt.event.ActionEvent e) {
     
    FiltreExtensible filtre = new FiltreExtensible("Fichiers Java");
    filtre.addExtension(".java");
     
    JFileChooser chooser = new JFileChooser(".");
    chooser.addChoosableFileFilter(filtre);
    chooser.showOpenDialog(null);
     
    filtre.addExtension(".class");
    chooser.showOpenDialog(null);
     
    filtre.setDescription("Fichiers class");
    filtre.removeExtension(".java");
    chooser.showOpenDialog(null);
     
    filtre.setDescription("Tous les fichiers");
    filtre.clearExtensions();
    chooser.showOpenDialog(null);
    		}
    			});
    		}
    		return menuItemOpen;
    	}
    *********************************************
    Le resultat :
    la boite de dialogue s'ouvre, mais quand je clique sur un fichier pour l'ouvrir rien ne se passe...
    où est le probleme?c'est peu etre evident mais je ne le vois pas??
    Merci de m'aider

  2. #2
    Membre expérimenté
    Inscrit en
    Janvier 2006
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 257
    Par défaut
    Ne faudrai t'il pas que tu recupère la reponse de ton chooser avec un truc du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    JFileChooser chooser = new JFileChooser();
        int retour = chooser.showOpenDialog(parent);
        if(retour == JFileChooser.APPROVE_OPTION) {
           // un fichier a été choisi ( sortie par OK)
           chooser.getSelectedFile().getName());       // nom du fichier                                                chooser.getSelectedFile().getAbsolutePath();// chemin absolu du fichier
    //tout ce qu'il faut faire apres...
    } else ; // pas de fichier choisi
    ++

Discussions similaires

  1. Réponses: 7
    Dernier message: 21/04/2014, 07h54
  2. Réponses: 0
    Dernier message: 07/01/2014, 09h56
  3. Réponses: 9
    Dernier message: 03/09/2008, 14h57
  4. Lire un fichier avec la boite de dialogue Ouvrir
    Par Death83 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/11/2007, 16h34
  5. Réponses: 1
    Dernier message: 15/06/2007, 17h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo