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 :

Choisir un fichier .Jar


Sujet :

AWT/Swing Java

  1. #1
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut Choisir un fichier .Jar
    Bonjour à tous,

    je souhaite mettre dans mon apllication un choix de fichier bien specifique (MonFichier.jar)

    Je veux obliger l'utilisateur à choisir dans son disque sur ce fichier et pas un autre!!

    Comment faire?

    MERCI BCP POUR L'AIDE!!

    PS: je n'ai jamais utiliser un selecteur de fichier type JFileChooser, je ne sais pas comment ca fonctionne

  2. #2
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 824
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 824
    Par défaut
    Euh... la question, c'est choisir un fichier avec un nom bien spécifique, ou uniquement l'extension?

    Si c'est uniquement l'extension, voir la FAQ Java... http://java.developpez.com/faq/java/...ser#fileFilter
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    je vais jeter un coup d'oeil au lien, mais ici c'est un fichier specefique:
    message.jar

    MERCI

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 918
    Billets dans le blog
    54
    Par défaut
    Et cette meme technique peut de toute maniere etre utilisee pour forcer a ce que le fichier choisi soit conforme a un nom complet plutot qu'a une seule extension.
    Il suffit de fournir le filtre approprie...
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Membre chevronné Avatar de Mobius
    Profil pro
    none
    Inscrit en
    Avril 2005
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : none

    Informations forums :
    Inscription : Avril 2005
    Messages : 463
    Par défaut
    Petite remarque: la facon de faire depend beaucoup des technoloqie que t'utilise pour ton interface:
    - en mode graphique, pour le swing le lien donné convient parfaitement et pour SWT il existe l'equivalent (dont le nom n eme reviens plus pour l'instant)
    - en mode texte, ou ligne de commande, ca sera a toi de verifier manuellement le nom du fichier.

  6. #6
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    ok, j'ai reussi à imposer le choix du fichier.

    Mais comment le recupérer???
    lorsqu'il appuie sur "ouvrir", je veux prendre l'emplacement du fichier en question et le mettre dans un string.

    MERCI

    PS: voici plus explicitement mon probleme.
    J'ai une class java (qui est ma page d'accuil), c'est une JFrame.
    Via un bouton "fichier", j'aimerais ouvrir ce filtre de fichier. L'utilisateur choisit donc son fichier et puis clique sur "ouvrir". Je souhaite alors recupere le string du chemin.

    Donc 2 choses à faire:
    1/ Ouvrir la fenetre: je ne sais pas comment faire
    2/ Recuperer le chemin d'accès ds un string.

    MERCI

  7. #7
    Membre chevronné Avatar de Mobius
    Profil pro
    none
    Inscrit en
    Avril 2005
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : none

    Informations forums :
    Inscription : Avril 2005
    Messages : 463
    Par défaut
    avec l'exemple de la faq qui t'as été donné, c'est expliqué comment tu récupere le nom du fichier selectionné. Apres il te suffit de creer un objet File a partir de ce nom ...
    Si tu as d'autre problème, je pense qu'il vaudrait mieu que tu les explique en détail pour qu'on puisse t'aider convenablement

  8. #8
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut


    J'etais entrain d'editer mon ancien message pdt que tu repondais:

    ok, j'ai reussi à imposer le choix du fichier.

    Mais comment le recupérer???
    lorsqu'il appuie sur "ouvrir", je veux prendre l'emplacement du fichier en question et le mettre dans un string.

    MERCI

    PS: voici plus explicitement mon probleme.
    J'ai une class java (qui est ma page d'accuil), c'est une JFrame.
    Via un bouton "fichier", j'aimerais ouvrir ce filtre de fichier. L'utilisateur choisit donc son fichier et puis clique sur "ouvrir". Je souhaite alors recupere le string du chemin.

    Donc 2 choses à faire:
    1/ Ouvrir la fenetre: je ne sais pas comment faire
    2/ Recuperer le chemin d'accès ds un string.

    MERCI

  9. #9
    Membre chevronné Avatar de Mobius
    Profil pro
    none
    Inscrit en
    Avril 2005
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : none

    Informations forums :
    Inscription : Avril 2005
    Messages : 463
    Par défaut
    Je pense que tu as tous ce qu'il faut pour t'en sortir:
    - ce lien : http://java.developpez.com/faq/java/...ser#fileFilter (cité un peu plus haut) qui explique comment faire

    - la javadoc de la classe JFileChooser disponible ici : http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JFileChooser.html#getSelectedFile()

  10. #10
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    Au fait, mon probleme est le suivant:

    lorque je lance le filtre, tout fonctionne convenablement!!

    Mais je ne sais pas comment, à partir d'un JFrame, lorsque j'appuie sur un bouton deja mis en place, lancer ce filtre??


    Sinon, le filtre en lui meme fonctionne tres bien.


    MERCI D'AVANCE

  11. #11
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Il te suffit de lancer le JFileChooser auquel tu as ajouté ton filtre lors du déclenchaement de l'évenement...

    C'est quoi le problème, tu arrives pas à detecter l'evenement sur un bouton ?

    Si tu veut un exemple avec le JFileChooser, :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    String chemin = null;
    
     
    JFileChooser choix = new JFileChooser();
    choix.addChoosableFileFilter(pictureFilter);
     
    int retour = choix.showOpenDialog(new JFrame());
     
     
    if(retour == JFileChooser.APPROVE_OPTION) {
    chemin = choix.getSelectedFile().getAbsolutePath();
     
    //ensuite tu fais ce que tu veut avec ton chemin
    }

  12. #12
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    je m'exprime mal

    voila plus explicitement ce que j'ai fait:

    J'ai créer un filtre comme mis sur la FAQ
    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 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;
        }
        //Test
        public static void main(String[] args){
            FileFilter jar = new FiltreSimple("MonFichier.jar","MonFichier.jar");
            JFileChooser chooser = new JFileChooser(".");
            chooser.addChoosableFileFilter(jar);
            chooser.showOpenDialog(null);
        }
    }
    Ca, lorsque je le lance seul (via eclipse), cela fonctionne bien, je dois obligatoirement choisir le fichier en question. (donc j'ai bien un FileChooser qui s'ouvre etc.). Donc ca c'est la classe FiltreSimple.

    Mais voila, j'ai un Frame, appellons-le "Principal". Il n'y a qu'un seul bouton "Choisir fichier".

    Je veux, lorsque l'utilisateur appuie sur ce bouton, ouvrir le JFileChooser (la class FiltreSimple) qui a été créé. Mais je ne sais pas comment faire

    Voila, j'espre que vous me comprenais mieux. Je sais que ca doit etre un truc simple ou une erreur de comphension de ma part, mais je ne vois pas comment faire.

    MERCI D'AVANCE POUR L'AIDE

  13. #13
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Je ne suis toujours pas sur d'avoir bien compris, mais je vais essayer. Il faut que lorsque l'action sur le bouton est "activée", tu lance le JFileChooser, alors tu peut faire quelque chose comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monBouton.addActionListener(this);
    et dans la classe ou tu as le bouton, tu ajoute une méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void actionPerformed(actionEvent e){
    //Ici tu peut maintenant ouvrir ton JFileChooser
    }
    J'espere que c'est bien ca dont tu avais besoin

  14. #14
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut

    Merci tout de meme, mais ce que je cherche c'est:

    //Ici tu peut maintenant ouvrir ton JFileChooser

    MERCI

  15. #15
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Tu as dis que tu arrivais à afficher le JFileChooser sinon comment ferais tu pour tester ton filtre... De plus dans un de mes messages précédents je t'ai mis un exemple de comment le faire...

  16. #16
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 918
    Billets dans le blog
    54
    Par défaut
    Citation Envoyé par Mobius
    en mode texte, ou ligne de commande, ca sera a toi de verifier manuellement le nom du fichier.
    Non-seulement le FileFilter du JFileChooser peut etre utilise aussi sans pb en mode texte mais il existe aussi autres divers choses non-liees a Swing comme les interfaces java.io.FilenameFilter ou java.io.FileFilter pour faire ce genre ce filtrage quelque soit le mode d'utilisation.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  17. #17
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    alors j'ai pas bien compris

    Effectivement, je reussi à tester ma class FiltreSimple grace à netbeans ou eclise: il suffit de choisir "run class" et op, je peux tester JUSTE cette class.

    Mais maintenant, j'ai mis un bouton auquel j'ai ajouter un evenement, mais ce bouton est dans une autre JFrame!!!!

    Donc le probleme est le suivant:

    COMMENT, lorsque l'utilisateur appuie sur l bouton, lancer mon autre class (FiltreSimple).
    J'ai donc ceci dans ma JFrame

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <div style="text-align: left;">public void actionPerformed(actionEvent e){
    //Ici je veux mettre un code qui permet d'aller ouvrir ma class  "FiltreSimple"
    }</div>
    Bref, je ne sais pas comment ouvrir ma class qui prend en compte mon FiltreSimple et donc mon JFileChooser

    Voila, j'espere que mon explication est un peu plus clair!!

    MERCI D'AVANCE A TOUS CEUX QUI PEUVENT M'AIDER

  18. #18
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    Citation Envoyé par Terminator
    alors j'ai pas bien compris

    Effectivement, je reussi à tester ma class FiltreSimple grace à netbeans ou eclise: il suffit de choisir "run class" et op, je peux tester JUSTE cette class.

    Mais maintenant, j'ai mis un bouton auquel j'ai ajouter un evenement, mais ce bouton est dans une autre JFrame!!!!

    Donc le probleme est le suivant:

    COMMENT, lorsque l'utilisateur appuie sur l bouton, lancer mon autre class (FiltreSimple).
    J'ai donc ceci dans ma JFrame

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     public void actionPerformed(actionEvent e){
    //Ici je veux mettre un code qui permet d'aller ouvrir ma class  "FiltreSimple"
    }
    Bref, je ne sais pas comment ouvrir ma class qui prend en compte mon FiltreSimple et donc mon JFileChooser

    Voila, j'espere que mon explication est un peu plus clair!!

    MERCI D'AVANCE A TOUS CEUX QUI PEUVENT M'AIDER

  19. #19
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Pour commencer tu déclare un filtre :

    private FileFilter textFilter = new FiltreSimple("Fichiers Texte(*.txt, *.doc)",".txt,.doc");
    Ensuite il faut créer un JFileChooser et lui attribuer ton filtre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     JFileChooser choix = new JFileChooser();
    choix.addChoosableFileFilter(textFilter);
    ensuite il faut afficher le JFileChooser et récupérer le retour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int retour = choix.showOpenDialog(new JFrame());
    enfin, tu teste le retour et tu récupère le chemin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(retour == JFileChooser.APPROVE_OPTION) {
    String chemin = choix.getSelectedFile().getAbsolutePath();
    }
    Plus clair que ça ensuite, ca va être dur...

  20. #20
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    MERCI BCP!!!

    je teste ca ce soir et je vous tiens au courant!!

    Désolé, mais le JFileChooser c'est tout nouveau pour moi, donc me faut le temps

    ENCORE MERCI

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Choisir un fichier au hasard dans un répertoire
    Par M.Dlb dans le forum Linux
    Réponses: 2
    Dernier message: 09/12/2004, 22h41
  2. [Applet][JAR]Charger une applet depuis un fichier jar
    Par CappCorp dans le forum Applets
    Réponses: 8
    Dernier message: 23/11/2004, 13h08
  3. [jar] Comment modifier un fichier jar
    Par newfsch dans le forum JBuilder
    Réponses: 5
    Dernier message: 18/07/2004, 14h25
  4. [Jar]comment creer un fichier JAR?
    Par ed_hunter dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 24/05/2004, 11h44
  5. creation d un fichier jar ou .exe en java
    Par sadjia dans le forum JBuilder
    Réponses: 13
    Dernier message: 13/12/2002, 16h01

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