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

avec Java Discussion :

recuperation des informations d'un JFileChooser


Sujet :

avec Java

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 89
    Par défaut recuperation des informations d'un JFileChooser
    Bonjour,


    J'ai un bouton dans une premiere classe auquel j'ajoute un action listener
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public class Myt extends JFrame
    {
    public Myt()
    	{
    /* DEBUT ACTION */
    		Caction myAction = new Caction().;
    		/* FIN ACTION */
    myBut = new JButton("Choisir un fichier");
    /* AJOUT ACTION PANEL2 */
    		myBut.addActionListener(myAction);
    		/* FIN AJOUT ACTION PANEL2 */
    }
    }

    Cet action listener est defini dans une deuxieme classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public class Caction implements ActionListener, Iconst{
     
    	public void actionPerformed(ActionEvent ae) {
    		// TODO Auto-generated method stub
     
    if(ae.getActionCommand() == "Choisir un fichier")
    		{
    			new Cchooser();
    		}
     
    }}
    et lors du clic instancie la troisieme classe permettant l'affichage du 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
    15
     
     
    public class Cchooser {
    public Cchooser()
    	{
    		JFileChooser jChoose = new JFileChooser();
     
    		int returnVal = jChoose.showOpenDialog(null);
    		if(returnVal == JFileChooser.APPROVE_OPTION) 
    		{
    			System.out.println("getPath = " + jChoose.getSelectedFile().getPath());
    			System.out.println("You choose to open this file: " +jChoose.getSelectedFile().getName());
    		}
    	}
    }
    Tout ca marche, mais je ne vois pas comment recuperer dans ma peremiere classe qui me sert d'interface le choix de l'utilisateur dans le JFilechooser.

    J'aurai deux questions :
    --> Tout d'abord est-ce la bonne methode pour ouvrir un JFilechooser (sachant que le but est de modulariser) ?? Sinon comment faire ??
    --> Si c'est la bonne methode, comment savoir ce qu'a choisit l'utilisateur ? Les classes etant independantes ?

    Merci de votre aide.

  2. #2
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut
    J'ai l'impression que tu te compliques un peu la tache.

    Regarde le code suivant, c'est la méthode qui correspond à l'appuie sur un bouton nommé "Parcourir". Lors du clic dessus, ca me créé mon JFileChooser, et je récupère le chemin d'accès pour l'afficher sur un JCombobox.

    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
    private JButton getJButton_Parcourir1() {
    	if (jButton_Parcourir1 == null) {
    		jButton_Parcourir1 = new JButton();
    		jButton_Parcourir1.setBounds(new Rectangle(602, 71, 103, 23));
    		jButton_Parcourir1.setText("Parcourir");
    		jButton_Parcourir1.addActionListener(new java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent e) {
    				System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
     
    				JFileChooser chooser = new JFileChooser(); 				 //instance pour créér un JFileChooser
     
    				chooser.setApproveButtonToolTipText("ok");
    				chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);   //spécifie qu'on ne sélectionne que des dossiers
    				if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
    				{	
    					jComboBox_TrueDir.removeAllItems();
    					jComboBox_TrueDir.addItem(chooser.getSelectedFile().getAbsolutePath()); //si un dossier est selectionné, récupérer le fichier puis sont path et l'afficher dans le champs de texte
    				} 
     
    			}
    		});
     
    	}
    	return jButton_Parcourir1;
    }
    Je ne sais pas si je respecte bien les normes java, mais ca marche bien. et c''est simple d'utilisation.

    Autrement si tu veux rester dans ton optique, il faut que dans ta classe Chooser, tu créés une méthode " public String GetReference()" qui retournerai une variable de type String, qui serai ce qu'a choisi l'utilisateur.

    Comme ca, de n'importe quelle classe, tu instancies un objet de type Chooser, qui appelera la méthode GetReference

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 89
    Par défaut
    Merci pour ton aide, mais meme en creant une methode getReference dans la classe Cchooser, je n'ai pas la reference à l'objet.

    En effet je veux mettre à jour un champ texte de ma premiere classe avec les infos du JFilechooser.

    Quelqu'un aurait une idée ? Je seche.

  4. #4
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut
    Essaies ca;

    Crée une variable de type: Private String Reference, dans ta classe elle même; fais le entre la première ligne de ta classe, et la première ligne de ta méthode.

    Tu créeras donc un attribut Privé à ta classe.

    Quand à ta méthode GetReference, elle renverra cet attribut à qui en aura besoin.

    normalement, si tu instancies bien ta classe depuis une autre, tu devrais pouvoir renvoyer cette référence.

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Janvier 2008
    Messages : 62
    Par défaut
    merci freud44, ça marche impeccable.

Discussions similaires

  1. Recuperer des informations de la classe appellante.
    Par Mathieu.Nanoux dans le forum Framework .NET
    Réponses: 2
    Dernier message: 11/05/2007, 18h45
  2. Récupération des informations du fichier mdl
    Par Sensib dans le forum MATLAB
    Réponses: 3
    Dernier message: 17/11/2006, 17h16
  3. [Layout] Récuperation des informations saisies
    Par imane_bennouna dans le forum Struts 1
    Réponses: 1
    Dernier message: 18/08/2006, 10h10
  4. Réponses: 8
    Dernier message: 13/07/2006, 01h17
  5. Réponses: 4
    Dernier message: 08/07/2006, 14h11

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