Bonjour à tous.
Mon problème peut sembler totalement "bateau", mais visiblement le Java en "client lourd" ce n'est pas une partie de plaisir!
1) Description du besoin
J'ai un traitement assez lourd en base de données à lancer depuis une fenêtre de style un peu "pop up". Tout cela est de l'existant, et fonctionne correctement.
De là, on veut juste intégrer un "sablier" pour faire patienter l'utilisateur, car cette mise à jour de données est requise pour l'usage de l'application (pas question de threader et de rendre la main dans ces conditions).
2) Comment est appelée la dite fenêtre
Alors là... c'est une imbrication d'appels (si j'ai bien compris comment le bazar est fait)
En gros: on a une classe de contrôle "graphique" nommée controllerIhm qui gère les sous appels.
Ma fenêtre se retrouve alors à
this.getFenetre1().getFenetre2().getMaFenetre();
3) Ce que j'ai voulu faire
this.getFenetre1().getFenetre2().getMaFenetre().setCursor(new Cursor(Cursor.WAIT_CURSOR));
Ca ne fonctionne pas...
4) Ce que je constate
C'est qu'en cliquant sur le bouton "VALIDER" de la dite fenêtre, celui-ci reste comme "enfoncé", et la fenêtre comme figée. Je suppose qu'il s'agit d'une gestion foireuse du rafraichissement, parce qu'une fois la dite fenêtre automatiquement refermée en fin de traitement, le sablier apparaît enfin!
5) Que faire?
- J'ai essayé du repaint() pour tenter, aucun changement
- J'ai essayé de positionner le changement de curseur sur la fenêtre sur laquelle la mienne se superpose, aucun changement
- En debug, aucun changement
- En laissant bien le curseur sur la dite fenêtre (puisque le sablier ne fonctionne que quand on est "over" la fenêtre), aucun changement.
Je suis largué...
Partager