[JAVA] Problème jFileChooser

Résolu
Blunderer Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   -  
Blunderer Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un jFileChooser que j'ouvre en appuyant sur un bouton.
Tout va bien. Ensuite je choisis le dossier que je veux sélectionner (je suis en mode DIRECTORY_ONLY).
Puis je cliques sur Open. Et là, je dois recliquer sur Open pour que la fenêtre se ferme...
Pourquoi ? oO

Voici mon code :
    private void jFileChooser1ActionPerformed(java.awt.event.ActionEvent evt) {
        if (jFileChooser1.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
            Main.folder_for_reports = jFileChooser1.getSelectedFile().toString();
            System.out.println("Selection ok");
            this.dispose();
        }
        else {
            Main.folder_for_reports = null;
            System.out.println("Selection not ok");
            this.dispose();
        }
    }




A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
C'est bizarre que le showOpenDialog soit à l'intérieur d'un ActionPerformed pour le chooser, il faudrait voir le code complet pour se remettre dans le contexte, mais j'ai l'impression qu'en fait tu ouvres deux fois la fenêtre... Voici un exemple correct :

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JTextArea;

public class Test 
{	
	public static void main(String...args)
	{
		final JFrame frame = new JFrame();		
		final JButton button = new JButton("Click");		
		final JFileChooser chooser = new JFileChooser();
		final JTextArea text = new JTextArea();
		
		button.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{	            
				if (chooser.showOpenDialog(frame) == JFileChooser.APPROVE_OPTION)
				{
		            text.setText(chooser.getSelectedFile().getAbsolutePath());
		            System.out.println("Selection OK");
		        }
		        else 
		        {
		        	text.setText("");
		            System.out.println("Selection KO");
		        }
			}			
		});
		
		frame.setLayout(new GridLayout(2,1));
		frame.add(button);
		frame.add(text);
		frame.pack();
		frame.setVisible(true);		
	}
}
0
Blunderer Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   83
 
je vais tester ca mais il ne faut pas faire de dispose ??
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
mon exemple, n'est qu'un exemple... je n'ai pas mis tout ce qu'il faudrait, l'important à voir c'est que le showOpenDialog est dans l'actionListener du JButton, pas dans celui du JFileChooser qui n'a pour moi pas de sens...
0
Blunderer Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   83
 
d'accord je teste... :)
merci :D
0
Blunderer Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   83
 
merci beaucoup !!!! ca marche super bien :)
0