Fermeture fenêtre Swing [Résolu]

Messages postés
51
Date d'inscription
jeudi 10 mai 2012
Dernière intervention
5 juillet 2012
- - Dernière réponse : lossehelin
Messages postés
51
Date d'inscription
jeudi 10 mai 2012
Dernière intervention
5 juillet 2012
- 30 mai 2012 à 12:02
Bonjour,

Dans le cadre de mon stage de deuxième année d'informatique, l'application que je dois coder contient une partie effectuant une mise à jour d'une base de données, en recherchant de nouveaux plans sur des lecteurs réseaux, mais ça c'est un détails.

J'ai codé une petite fenêtre qui affiche l'avancement de la mise à jour (avec une JProgressBar et des éléments textuels)

Cependant, j'aimerai que cette fenêtre ne puisse être fermée, tant que la mise à jour n'est pas terminée !

Donc, JFrame.DO_NOTHING_ON_CLOSE ne me suffit pas, la fenêtre se ferme quand même, et ça m'embête beaucoup !
Je suppose qu'il y a moyen d'intercepter la fermeture de la fenêtre (WindowEvent.CLOSING), mais à ce moment là, je ne peux plus empêcher la fenêtre de se fermer non plus !

Bref, je nage un peu dans le flou, et j'aurai besoin d'aide !

Merci d'avance :)
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
6450
Date d'inscription
mardi 8 mars 2005
Dernière intervention
17 mai 2018
3
Merci
Salut,

Tu peux utiliser une JWindow de cette manière, tu n'auras pas de bordure à ta fenêtre et tu n'auras pas besoin d'intercepter les éléments de fermeture.

Tu l'utilises comme une JFrame. Si dans ton code, tu remplaces tous les JFrame par JWindow, ca sevrait fonctionner.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_Julien39
Messages postés
6450
Date d'inscription
mardi 8 mars 2005
Dernière intervention
17 mai 2018
3
Merci
Oui, si tu veux, après, tu n'es pas obligé non plus de trop t'embêter avec ca.

Même si l'utilisateur ne peut pas faire remonter la fenêtre au premier plan, il peut réduire toutes les autres pour récupérer ta JWindow donc, ce n'est pas un vrai problème.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_Julien39
Messages postés
51
Date d'inscription
jeudi 10 mai 2012
Dernière intervention
5 juillet 2012
0
Merci
Ah ! Merci :).

C'est un peu moins joli, mais tout ce qu'il faut, c'est que ça fonctionne !
Merci beaucoup pour cette astuce, je ne connaissais pas les JWindow :).
Commenter la réponse de lossehelin
Messages postés
6450
Date d'inscription
mardi 8 mars 2005
Dernière intervention
17 mai 2018
0
Merci
Au contraire, je dirais que c'est plus joli, tu peux mettre une image de fond et t'arranger pour que ta fenêtre ait l'air bien pro comme celle qui s'affiche au démarrage d'éclipse.
Commenter la réponse de cs_Julien39
Messages postés
51
Date d'inscription
jeudi 10 mai 2012
Dernière intervention
5 juillet 2012
0
Merci
La seule chose qui me gène, c'est que ça ne créait pas de lien dans la barre des tâches (je ne me souviens plus du mots exacts ...) et du coup, on ne peut pas la remettre au premier plan
Commenter la réponse de lossehelin
Messages postés
51
Date d'inscription
jeudi 10 mai 2012
Dernière intervention
5 juillet 2012
0
Merci
(la mise à jour est assez conséquente et prends plusieurs minutes, c'est pourquoi j'aime pouvoir revenir sur ma fenêtre pour voir où ça en est)
Commenter la réponse de lossehelin
Messages postés
6450
Date d'inscription
mardi 8 mars 2005
Dernière intervention
17 mai 2018
0
Merci
Si tu peux la remette au premier plan avec un movetoFront. Mais il est vrai que l'utilisateur ne peut pas la ramener manuellement au premier plan.

Normalement, tu utilises un thread pour faire avancer ta barre de progression, tu peux appeler le moveToFront à chaque nouvelle avancée de ta progressbar.
Commenter la réponse de cs_Julien39
Messages postés
51
Date d'inscription
jeudi 10 mai 2012
Dernière intervention
5 juillet 2012
0
Merci
Le problème dans ce cas là, c'est que l'utilisateur est obligé d'avoir la mise à jour au premier plan (ce qu'il ne souhaite pas forcément non plus)
Commenter la réponse de lossehelin
Messages postés
51
Date d'inscription
jeudi 10 mai 2012
Dernière intervention
5 juillet 2012
0
Merci
Je vais peut-être tout simplement rajouter un bouton "Afficher/Cacher avancement de la mise à jour"
Commenter la réponse de lossehelin
Messages postés
51
Date d'inscription
jeudi 10 mai 2012
Dernière intervention
5 juillet 2012
0
Merci
Oui c'est vrai qu'au final, c'est qu'un détails pour l'instant :).
Je me concentrerai sur l'ergonomie à la fin de mon stage, il faut surtout que ça fonctionne, merci encore pour ton aide :).
Commenter la réponse de lossehelin

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.