Bonjour,
J'ai cherché, dans la FAQ et sur le web et je n'ai pas trouvé : Comment rendre une JFrame modale ?
Merci d'avance à tous !
Bonjour,
J'ai cherché, dans la FAQ et sur le web et je n'ai pas trouvé : Comment rendre une JFrame modale ?
Merci d'avance à tous !
Je sais pas ce que tu veux faire exactement mais utiliser un JDialog modale serais peux-être plus approprié pour ce que tu veux faire?
Et bien en fait on m'as repassé un projet, dont certaines frames restent non modales et celà ne me plait pas. Donc justement, le but du jeu serait de rendre une JFrame modale, sans passer par un extends de JDialog.
Pourquoi ne peux tu pas transformer tes JFrame en JDialog? Il me semble que c'est la même chose qu'une JFrame mais qu'en plus elles sont modales.
Sinon, ce que tu peux faire c'est :
- après l'affichage de ta JFrame, tu rends les autres fenêtre de ton applis inactive (à toi de le gérer je penses mais peut être qu'un setEnable(false) suffira)
- tu crée une boucle sur l'état de ta fenêtre (tant qu'elle existe (isDisplayable ou isVisible suivant ton cas)
- une fois la boucle passée (fenêtre invisible ou détruite) tu réactive les fenêtres.
C'est vraiment pas beau mais il me semble qu'il n'y a pas de moyen très propre de le faire.
Bonne journée
Bonne chance, Bonne journée, bonne année bonne santée et etc ...
Youpi la vie est belle ! Et vive la fraicheur
Pareil...je ne vois pas pourquoi tu ne souhaites pas transformer tes JFrame en JDialog... :Envoyé par Tiaps
L'interêt du doute est que cela fait avancer.
(parenthèses)Je suis à la recherche d'un emploi sur Valence(26) et ses environs.
mon cv:
http://charegis.netcv.org/
Une JFrame est avant tout une fenêtre qui peut s'agencer à l'écran avec d'autres fenêtres ouvertes. Tu ne pourras pas forcer (à cause du concept de fenêtre lui-même) ta fenêtre à rester modale.
Une JDialog en revanche est une boîte de dialogue liée à une fenêtre... Elle sert à afficher quelque chose relatif à la fenêtre parente, et peut donc en venir à être modale, si l'information est capitale pour la fenêtre parente.
Donc par définition, une JFrame N'A PAS A ETRE MODALE, tandis qu'une JDialog PEUT NECESSITER D'ETRE MODALE. Si tu ressens le besoin de rendre tes JFrame modales, c'est qu'elles doivent être en fait des JDialog. Et puis réflexion faite ca sera beaucoup moins pénible à transformer que de mettre en oeuvre l'astuce donnée par Tiaps, qui, je dois le reconnaître est assez génial... Fallait y penser !
"Pourquoi faire les choses facilement quand on peut les faire de façon compliquée ?"
Ingénieur Génie Logiciel et Systèmes d'Information
Management des Nouvelles Technologies
Ecole Supérieure d'Ingénieurs de Luminy (ESIL), Marseille
Merci Original Prankster Je le savais déjà 8)Envoyé par Original Prankster
Mais c'est quand même une solution à éviter à tous prix (moi j'avais une JWIndow que je ne pouvais pas transformer en JFrame [le code venait d'autre part] et qu'elle était pas trop longue à mettre en oeuvre [5 éléments à rendre actifs ou inactifs]).
Mais on perd quand même les principaux avantage de la modalité :
- La fenêtre modale reste toujours devant la fenêtre principale
- tu ne peux vraiment rien taper dans la fenêtre principale (y a des ding ding ding qui le font très bien remarquer quoi que l'on pourrait le simuler aussi mais y a toujours le premier point qui est important)
Bonne chance, Bonne journée, bonne année bonne santée et etc ...
Youpi la vie est belle ! Et vive la fraicheur
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager