Message "Wait" pendant chargement d'un fichier choisi avec JFileChooser

killerb0b Messages postés 12 Date d'inscription vendredi 17 octobre 2003 Statut Membre Dernière intervention 6 juillet 2006 - 30 juin 2006 à 16:02
killerb0b Messages postés 12 Date d'inscription vendredi 17 octobre 2003 Statut Membre Dernière intervention 6 juillet 2006 - 3 juil. 2006 à 09:19
Bonjour,

Je me bat pour un truc qui avait l'air tout simple à l'origine mais qui finallement s'avère très prise de tête.

Contexte : J'ai une application dans laquelle suite au click sur un bouton "ouvrir" s'ouvre un JFileChooser qui me permet de sélectionner un fichier XML pour l'ouvrir et afficher l'arbre qu'il contient.
Dés que je valide le choix du fichier, l'endroit où se trouvait la fenètre JFileChooser devient toute grise durant tout le chargement du fichier (qui peut durer plus d'une minute suivant sa grandeur).

Mon boss souhaiterait qu'un petit message de type "Please wait" dans la barre de titre s'affiche pendant ce temps pour que l'utilisateur ne pense pas que l'application aie plantée.


Le problème c'est que si je change mon titre trop tôt (en 1 par exemple), le titre "Please Wait" apparait pendant la selection du fichier XML grâce au JFileCHooser (c'est pas très beau), et si je le met après (en 2 par exemple), le titre reste inchangé pendant tout le temps du chargement et n'apparait qu'une fois celui-ci terminé.

[...]
1
//on affiche la boîte de sélection
int returnVal=jFileChooser1.showOpenDialog(this);
2

try{
if(returnVal==JFileChooser.APPROVE_OPTION){
//On récupère le nom du fichier :
nomFic=jFileChooser1.getSelectedFile().getPath();
//on charge le projet correspondant
p=creaMod.chargeProjetXML(nomFic);
[...]


Quelqu'un aurait-il une idée pour que ce message apparaisse au bon moment (ni trop tot, ni trop tard).
Je suis prêt à changer le type d'affichage du message ou à utiliser un événement sur le JFileChooser.

Merci d'avance pour votre aide.

2 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
30 juin 2006 à 19:25
Salut,

détache le traitement dans un thread afin de ne pas utiliser le thread de ton ui qui permet de faire les repaints necessaire aux interactions de l'UI

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

WORA
0
killerb0b Messages postés 12 Date d'inscription vendredi 17 octobre 2003 Statut Membre Dernière intervention 6 juillet 2006
3 juil. 2006 à 09:19
Un "thread"??
C'est utilisé dans les barres de progressions non?
En fait, j'en ai jamais utilisé, mais je vais faire des recherches.

Merci pour le tuyau.
0
Rejoignez-nous