[JAVA] Freeze de JFrame lors de l'execution

Fermé
adi3000 Messages postés 254 Date d'inscription samedi 5 août 2006 Statut Membre Dernière intervention 22 mai 2011 - 30 déc. 2008 à 13:29
MegaTruite Messages postés 27 Date d'inscription mardi 30 septembre 2014 Statut Membre Dernière intervention 7 septembre 2016 - 6 sept. 2016 à 11:59
Bonjour,

J'ai un petit soucis avec mon projet de moteur de recherche (sur un disque dur local a partire de different textes)
Voila nous avons créer un moteur de recherche qui examine 3 type de fichier textes et en créé un index dans une base de donnée.

En grop le programe va d'abord scanner l'ensemble des fichier a etudier et renger leeur chemin dans un array list, puis fichier par fichier creer son index en communication avec la base de donnée. Tout marche correctement jusqu'a la.
Suite a cela on a voulu faire une interface graphique:
Une fenetre general ou il y a un JLabel du chemin a indexer, et un bouton pour changer ce dernier.
Lorsqu'on clique sur le bouton un JFrame avec un JFileChooser se rend visible (inclus dans la fenetre principale): on y selectionne le dossier a indexer et on clic sur le bouton d'indexation de cette fenetre, la fenetre du JFileChooser se setVisible(false)
Enfin l'indexation se deroule.

C'est la qu'intervient mon probleme. Une indexation prends du temps, et comme il s'agit d'un projet a rendre on voudrai creer un JLabel d'etat glissé juste en dessous du JLabel du chemin et du bouton.

C'est un observer du processus d'indexation qui marche parfaitement bien en cosole et un Observable du JLabel de l'etat.

Le probleme c'est que des que je lance le processus d'indexation le JFrame prinicipale se freeze, le JLabel eta n'affiche donc rien tant que l'indexation n'est pas finie.
c'est tres enuyant. Mon JLabel ne sert donc a rien

J'aimerai donc savoir comment faire pour que cette derniere ne freeze pas durant le traitement de l'indexation. La console affiche bien tout les renseigements necessaire

dans la metode update du JLabel ill n'y a qu'un System.out.printnl(etat) et setText(etat.toString);
J'ai tenté d'y ajouter un updateUI(), et un repaint(); mais ça n'a rien donné.

Please Help me.

Joyeuses fetes
A voir également:

2 réponses

adi3000 Messages postés 254 Date d'inscription samedi 5 août 2006 Statut Membre Dernière intervention 22 mai 2011 54
2 janv. 2009 à 11:13
up up up
0
pc pas puissant prend en un avec beaucoup en fréquence de ram
0
MegaTruite Messages postés 27 Date d'inscription mardi 30 septembre 2014 Statut Membre Dernière intervention 7 septembre 2016 2
6 sept. 2016 à 11:59
Bonjour,

Il semblerait que votre problème soit lié à l'utilisation d'un seul Thread. Renseignez-vous sur le MultiThreading de Java, cela devrait solutionner votre problème :)

MagicTruite
0