Bonjour,
Voila je me permets de vous poster un message, car j'ai besoin de votre aide sur l'utilisation de la méthode doInBackground(). En effet, j'ai une application qui permets d'ouvrir un fichier .xml à l'aide d'une fenetre (JFileChooser).
Et la méthode doInBackground(), ci dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 private void choixFichier() throws SecurityException, IOException { fenetreChoix = new JFileChooser(System.getProperty("user.dir")); fenetreChoix.setFileSelectionMode(JFileChooser.FILES_ONLY); filtre = new ExtensionFileFilter("XML (*.xml)", "XML"); fenetreChoix.setFileFilter(filtre); fenetreChoix.setAcceptAllFileFilterUsed(false); // Permet d'enlever "Tous les fichiers" if (fenetreChoix.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { execute(); } }
Mon problème vient du fait que lors de l'ouverture du premier fichier xml. J'entre bien dans la méthode choixFichier() et j'exécute bien la méthode execute() qui permets d'appelerla méthode doInBackground().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 protected Integer doInBackground() throws Exception { System.out.println("ici"); File file = fenetreChoix.getSelectedFile(); System.out.println(file.getAbsolutePath()); if(getType(file)){ String chemin = file.getAbsolutePath(); model.setParseur(new File(chemin)); JTree temp = new JTree(model.buildTree()); affichage.setArbre(temp.getModel()); } new Logging(affichage).ajouter("Ouverture du fichier effectuée"); return null; }
Ce n'est lors d'une deuxième ouverture successive que la méthode appelée par execute() ne se fait plus. Savez vous pourquoi?
Merci d'avance,
Partager