Problème complexe : flush de la memoire tampon d'un JFileChooser

Problème complexe : flush de la memoire tampon d'un JFileChooser - Java - Programmation

Marsh Posté le 25-07-2005 à 16:38:47    

Bon c'est super chaud à expliquer donc je vais essayer d'être le plus clair possible.
 
Le probléme est lié à une transition entre deux phases de mon programme.
Phase 1 : affichage d'un JFileChooser.
Phase 2 : affichage d'un panel contenu dans un JscrollPane. Ce panel contient entre autre plusieurs JTextArea(non editable).(la JScrollBar verticale doit commencer tout en haut).
 
Lors de la phase 1, lorsque la personne clique sur un fichier du navigateur tout ce passe bien.
Par contre lorsque la personne rentre le nom du fichier au clavier(c'est l'accès clavier qui est important), dans ce cas le prog considère qu'il y a eu une saisie clavier et lors de la phase 2 , la JScrollBar commence en bas.
 
Après avoir fait beaucoup de tests et passé beaucoup de temps sur ce problème, je suis arrivée au conclusion suivante :  
-le problème n'a jamais lieu lorsque on clique sur un fichier(ex:toto.xsl), puis on clique sur OK dans la phase 1.(ni lorsque on double clique sur le fichier)
-le problème a toujours lieu lorsque le nom est saisi par clavier sur la phase 1.
  Si lors de la saisie clavier, on inscrit un nom de fichier existant(ex: le même toto.xsl), alors le problème apparait aussi.
-le problème n'a pas lieu apparemment lorsque il n'y a pas de JTextArea dans ma JScrollPane dans la phase 2(malheureusement ils me sont utiles)
-il me semble qu'il y a une sorte de BufferedWritter par défaut qui veuille écrire dans le dernier JTextArea de mon JScrollPane de la phase 2 et du coup ma JScrollBar se focalise dessus(je ne vois pas d'autre explication).
-Malgrès des setValue, des update, des repaint... dans tous les sens, ça ne change rien.
 
Est-il donc possible de récupérer le "buffer" ou équivalent du JFileChooser et de faire un flush?
Voyez-vous une autre solution?
 
Si quelqu'un a compris, peut-il m'aider?


Message édité par le_moustiq le 28-07-2005 à 09:38:53
Reply

Marsh Posté le 25-07-2005 à 16:38:47   

Reply

Marsh Posté le 27-07-2005 à 17:31:09    

bon j'ai pas tout compris (surtout la fin) mais si tu veux mettre ta jscrollbar en haut, il suffit que tu fasse un truc de ce genre :
 
 

Code :
  1. jScrollPane p = .... ;
  2. p.getVerticalScrollBar().setValue(p.getVerticalScrollBar().getMinimum()) ;

Reply

Marsh Posté le 28-07-2005 à 09:35:53    

Ca je le savais déjà et je le fais mais ca ne marche pas dans mon cas.(je me doutais que c'etait pas clair, mais c'est super chaud à expliquer).
Même en faisant un setValue comme tu dis(d'ailleur je le fais), la JScrollBar verticale se place en face du dernier JTextArea qu'elle contient (lors de l'ouverture de la frame contenant cette JScrollBar).
De plus ce cas n'intervient que si on a fait une saisie clavier lors de la précédente fenêtre(avant l'ouverture de la frame contenant mon JScrollPAne), cette fenêtre étant le JFileChooser.
 
PS:Si c'est vraiment pas clair, dites le moi, j'essairai de l'expliquer autrement.Je ne peux pas savoir que vous trouvez ca pas clair puisque pour moi ca l'est :)


Message édité par le_moustiq le 28-07-2005 à 09:36:24
Reply

Marsh Posté le 09-08-2005 à 16:10:23    

Toujours aucune idée de personne bien intentionné :'(


Message édité par le_moustiq le 09-08-2005 à 16:10:49
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed