Problème avec les fenêtres modales
Fermé
satokun
Messages postés
8
Date d'inscription
mardi 8 avril 2014
Statut
Membre
Dernière intervention
17 juin 2015
-
14 juin 2015 à 14:00
satokun Messages postés 8 Date d'inscription mardi 8 avril 2014 Statut Membre Dernière intervention 17 juin 2015 - 17 juin 2015 à 19:03
satokun Messages postés 8 Date d'inscription mardi 8 avril 2014 Statut Membre Dernière intervention 17 juin 2015 - 17 juin 2015 à 19:03
A voir également:
- Problème avec les fenêtres modales
- Afficher toutes les fenetres ouvertes windows - Guide
- Restaurer les fenetres chrome - Guide
- Comment bloquer les fenêtres publicitaires qui s'ouvrent toutes seules - Guide
- Comment ouvrir deux fenetres sur pc - Guide
- Ramener toutes les fenetre sur l'écran principal - Guide
3 réponses
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
14 juin 2015 à 14:10
14 juin 2015 à 14:10
Bonjour,
"je souhaite que mes deux fenêtres soient modales."
Par définition, il ne peut y avoir qu'une fenêtre modale en même temps.
Tu peux par contre, désactiver la modalité de ta première fenêtre pour ouvrir une deuxième fenêtre qui devient modale, et une fois celle-ci fermée redonner la modalité à la première fenêtre.
"je souhaite que mes deux fenêtres soient modales."
Par définition, il ne peut y avoir qu'une fenêtre modale en même temps.
Tu peux par contre, désactiver la modalité de ta première fenêtre pour ouvrir une deuxième fenêtre qui devient modale, et une fois celle-ci fermée redonner la modalité à la première fenêtre.
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
14 juin 2015 à 21:44
14 juin 2015 à 21:44
Voici un exemple très simple de fenêtre modales imbriquées, j'ai choisi de prendre un niveau N quelconque (par exemple N=5) pour montrer que le code ne change pas quelque soit le niveau d'imbrication.
import java.awt.Dialog.ModalityType; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JDialog; public class Test { public static void main(String[] args) { int N = 5; JDialog[] dialogs = new JDialog[N]; dialogs[0] = new JDialog(); for (int i = 1; i < N; i++) dialogs[i] = new JDialog(dialogs[i - 1], "", ModalityType.DOCUMENT_MODAL); for (int i = 0; i < N; i++) { JButton button = new JButton(String.valueOf(i)); if (i != N - 1) { JDialog next = dialogs[i + 1]; button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { next.setVisible(true); } }); } dialogs[i].add(button); } for (int i = 0; i < N; i++) { dialogs[i].pack(); dialogs[i].setLocationByPlatform(true); } dialogs[0].setVisible(true); } }
satokun
Messages postés
8
Date d'inscription
mardi 8 avril 2014
Statut
Membre
Dernière intervention
17 juin 2015
16 juin 2015 à 11:32
16 juin 2015 à 11:32
salut, dsl pour le temps que je mets a répondre (je suis un peu pris par mon boulot) et je te remercie KX pour le mal que tu te donnes à m'éxpliquer.
donc, je veux savoir est ce qu'il y a moyen de "switcher" la modalité entre le JDialog et les JOptionpane, pour éviter de créer des class entières (héritant de JDialog) juste pour des messages d'erreurs, ou pour récuperer une chaine de caractères !!
donc, je veux savoir est ce qu'il y a moyen de "switcher" la modalité entre le JDialog et les JOptionpane, pour éviter de créer des class entières (héritant de JDialog) juste pour des messages d'erreurs, ou pour récuperer une chaine de caractères !!
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
16 juin 2015 à 18:40
16 juin 2015 à 18:40
uste pour des messages d'erreurs, ou pour récuperer une chaine de caractères !!
Tu as les JOptionPane pour ça.
https://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html
Tu as les JOptionPane pour ça.
https://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html
satokun
Messages postés
8
Date d'inscription
mardi 8 avril 2014
Statut
Membre
Dernière intervention
17 juin 2015
17 juin 2015 à 10:53
17 juin 2015 à 10:53
justement c'est ça le vrai problème, les JOptionpane ne s'affichent pas lorsque je définis la JDialog comme modal, donc j'ai essayé de désactiver la modalité du JDialogue lorsque je lance la JOptionpane mais ça n'a pas marché !
satokun
Messages postés
8
Date d'inscription
mardi 8 avril 2014
Statut
Membre
Dernière intervention
17 juin 2015
17 juin 2015 à 19:03
17 juin 2015 à 19:03
quelqu'un peut-il m'aider !!
14 juin 2015 à 20:21
j'ai essayé cette méthode auparavant, j'ai tenté de motifier la modalité de la fenêtre JDialog dans la methode "actionPerformed" du boutton recherche (qui lance la deuxième fenêtre modale) mais malheureusement (et bizzarement d'ailleurs) ça n'a pas marché