Objet JFileChooser

mephistophen Messages postés 5 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 12 avril 2010 - 16 mars 2010 à 13:11
Twinuts Messages postés 5373 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 10 août 2022 - 17 mars 2010 à 10:14
Bonjour a tous, voila dans le cadre de mon developpement JAVA, j'ai besoin de faire communiquer entre 2 classes un objet.


The following code pops up a file chooser for the user's home directory that sees only .jpg and .gif images: 

    JFileChooser chooser = new JFileChooser();
    // Note: source for ExampleFileFilter can be found in FileChooserDemo,
    // under the demo/jfc directory in the Java 2 SDK, Standard Edition.
    ExampleFileFilter filter = new ExampleFileFilter();
    filter.addExtension("jpg");
    filter.addExtension("gif");
    filter.setDescription("JPG & GIF Images");
    chooser.setFileFilter(filter);
    int returnVal = chooser.showOpenDialog(parent);
    if(returnVal == JFileChooser.APPROVE_OPTION) {
       System.out.println("You chose to open this file: " +
            chooser.getSelectedFile().getName());


Ceci est le code "exemple" du JFileChooser, on voit qu'il y a une écriture dans la console du fichier choisi ( l'emplacement ), et bien je souhaite pouvoir récupérer l'emplacement et pouvoir l'éxecuter via la classe runtime et la méthode exec(). J'ai tout mis en place dans les deux classes mais je n'arrive pas à récupérer l'emplacement pour l'exécuter par la suite...
Merci de votre aide !

1 réponse

Twinuts Messages postés 5373 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 10 août 2022 110
17 mars 2010 à 10:14
Salut,

Tu peux aussi nous donner ton code ce qui serait plus simple...
Sinon tu peux faire un truc genre :

public class ClassExec {
  ...
  public void execTask(File file) {
    //Utilisation de Runtime
  }
  ...
}

//ici 2 exemples ou la ClassExec est globale l'autre locale
public class Chooser {
  private ClassExec exec = null;
  ...
  public Chooser(ClassExec exec) {
    this.exec = exec;
    ...
  }

  public void uneMethode(...) {
    JFileChooser chooser = new JFileChooser();
    // Note: source for ExampleFileFilter can be found in FileChooserDemo,
    // under the demo/jfc directory in the Java 2 SDK, Standard Edition.
    ExampleFileFilter filter = new ExampleFileFilter();
    filter.addExtension("jpg");
    filter.addExtension("gif");
    filter.setDescription("JPG & GIF Images");
    chooser.setFileFilter(filter);
    int returnVal = chooser.showOpenDialog(parent);
    if(returnVal == JFileChooser.APPROVE_OPTION) {
       exec.execTask(chooser.getSelectedFile());
    }
  }
  ...
}

sinon en locale 
public class Chooser {
  ...
  public void uneMethode(ClassExec exec) {
    JFileChooser chooser = new JFileChooser();
    // Note: source for ExampleFileFilter can be found in FileChooserDemo,
    // under the demo/jfc directory in the Java 2 SDK, Standard Edition.
    ExampleFileFilter filter = new ExampleFileFilter();
    filter.addExtension("jpg");
    filter.addExtension("gif");
    filter.setDescription("JPG & GIF Images");
    chooser.setFileFilter(filter);
    int returnVal = chooser.showOpenDialog(parent);
    if(returnVal == JFileChooser.APPROVE_OPTION) {
       exec.execTask(chooser.getSelectedFile());
    }
  }
  ...
}


Enfin l'idée est là...


------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0