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

Composants Java Discussion :

Problèmes avec mon JFileChooser


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 93
    Par défaut Problèmes avec mon JFileChooser
    Bonjour,

    Tout d'abord, j'espère poster au bon endroit... Je suis plutôt novice en Java...
    J'ai parcouru les forums, la FAQ et les tutoriels sans trouver de réponse à mes interrogations, bien que ça me semble assez basique (je pense).

    J'ai une fenêtre sur laquelle j'ai un JPanel et un bouton "Parcourir".
    En cliquant sur ce bouton, je souhaite ouvrir mon JFileChooser (jusque là j'y arrive).

    Mais... je souhaite mettre un filtre pour ne pouvoir sélectionner que les fichiers textes (d'extension ".txt").

    1er problème : Où dois-je faire figurer la ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jFileChooser1.addChoosableFileFilter(new FiltreTexte());
    car là à chaque fois que je clique sur le bouton "Parcourir" il me rajoute autant de filtres identiques.

    2ème problème : je souhaite enlever "tous les fichiers" de la combobox du JFileChooser... Et là aucune idée de comment m'y prendre

    Je vous mets mon code, généré sous netbeans ci-dessous, en attendant vos conseils, bonne journée !

    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
     
    package appli;
     
    import java.io.File;
    import javax.swing.filechooser.FileFilter;
     
    public class FenetreAccueil extends javax.swing.JFrame {
     
        /** Creates new form FenetreAccueil */
        public FenetreAccueil() {
            initComponents();
        }
     
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
     
            jFileChooser1 = new javax.swing.JFileChooser();
            jPanel1 = new javax.swing.JPanel();
            jButton1 = new javax.swing.JButton();
     
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
     
            jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Fichier Entrée"));
     
            jButton1.setText("Parcourir");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
     
            javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
            jPanel1.setLayout(jPanel1Layout);
            jPanel1Layout.setHorizontalGroup(
                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel1Layout.createSequentialGroup()
                    .addGap(27, 27, 27)
                    .addComponent(jButton1)
                    .addContainerGap(267, Short.MAX_VALUE))
            );
            jPanel1Layout.setVerticalGroup(
                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel1Layout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jButton1)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            );
     
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addContainerGap())
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            );
     
            pack();
        }// </editor-fold>                        
     
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
           jFileChooser1.addChoosableFileFilter(new FiltreTexte());
           jFileChooser1.showOpenDialog(null);
        }                                        
     
        /**
        * @param args the command line arguments
        */
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new FenetreAccueil().setVisible(true);
                }
            });
        }
     
        // Variables declaration - do not modify                     
        private javax.swing.JButton jButton1;
        private javax.swing.JFileChooser jFileChooser1;
        private javax.swing.JPanel jPanel1;
        // End of variables declaration                   
     
     
    class FiltreTexte extends FileFilter {
     
      public boolean accept(File file){
          if(file.isDirectory()) {
                 return true;
          }
          if(file.getName().toLowerCase().endsWith(".txt"))
          {
              return true;
          }
          else
          {
              return false;
          }
       }
     
    	public String getDescription(){
    		return "Fichiers txt";
            }
    }
     
    }

  2. #2
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    salut.
    tu peux voir cet exemple sur l'ajout de filtres au JFileChooser

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 93
    Par défaut Solution 2ème problème
    J'ai trouvé pour le probème numéro 2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    jFileChooser1.setAcceptAllFileFilterUsed(false);
    mais pas pour le problème 1 ! Merci d'avance !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 93
    Par défaut
    Salut slim java !

    C'est plutôt l'endroit de mon code où je dois le faire figurer qui est un problème... Si tu peux m'éclairer

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 93
    Par défaut Proposition bidouille
    En attendant une proposition peut être plus élégante, j'utilise la ligne de code suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    jFileChooser1.removeChoosableFileFilter(filtre);
    Merci pour vos éventuelles propositions,

    Bonne journée !

  6. #6
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par GatH7614 Voir le message
    1er problème : Où dois-je faire figurer la ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jFileChooser1.addChoosableFileFilter(new FiltreTexte());
    car là à chaque fois que je clique sur le bouton "Parcourir" il me rajoute autant de filtres identiques.

    [/CODE]

    salut.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
     {                                         
           jFileChooser1.addChoosableFileFilter(new FiltreTexte());
     
           jFileChooser1.setAcceptAllFileFilterUsed(false);
     
           jFileChooser1.showOpenDialog(null);
     
           [...]
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/06/2006, 19h48
  2. [Mail] Problème avec mon script d'envoi de mail
    Par leroivert dans le forum Langage
    Réponses: 18
    Dernier message: 02/12/2005, 00h26
  3. Problème avec mon service mysql et PhpMyAdmin
    Par Fixazo dans le forum Outils
    Réponses: 1
    Dernier message: 28/08/2005, 18h02
  4. problème avec mon lecteur CD
    Par leo13 dans le forum Périphériques
    Réponses: 3
    Dernier message: 16/08/2005, 11h21
  5. Problème avec mon firewall ...
    Par Wis dans le forum Tomcat et TomEE
    Réponses: 15
    Dernier message: 06/04/2004, 08h46

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