Boîte de dialogue (JDialog) modale

Signaler
Messages postés
7
Date d'inscription
lundi 14 février 2005
Statut
Membre
Dernière intervention
20 mai 2005
-
Messages postés
750
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
23 décembre 2008
-
Bonjour à tous,

Je suis en train de reprendre un projet assez conséquent et dont l'architecture n'est pas sans poser quelques petits problèmes. En particulier, je n'arrive pas à "accrocher" mes boîtes de dialogue à l'espace de travail auquel elles se réfèrent.

Cet espace de travail est une classe MonPanel que l'on appelle ainsi:
travail = new MonPanel(monCadre);
où monCadre est un JFrame.

Le problème, c'est que que je créé ma boîte de dialogue ainsi:
JDialog (Frame owner, String title, boolean modal)
et que je suis obligé de caster ma JFrame en Frame - si je m'exprime correctement.

Le résultat, c'est que la boîte de dialogue n'est pas modale; en tout cas, elle n'est pas "attachée" à mon espace de travail ou au cadre que j'ai défini dedans. Alors, comment faire pour qu'il n'en soit pas ainsi?

PS: et je n'ai également pas su comment insérer du code proprement dans mon message...

<HR>
class MonPanel extends JPanel {

private Frame cadre;
...
MonPanel() {
super();
...
}

MonPanel(Frame cadre) {
this();
this.cadre = cadre;
...
}

1 réponse

Messages postés
750
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
23 décembre 2008
20
Slut
en fait, le paramétre "Frame owner" du constructeur du JDialog correspond à la fenêtre parente de ton JDialog (la fenêtre où est appelé ton JDialog). Cela sert à la modalité : on n'empêche l'accés de la fenêtre parente si on précise qu'on est en modalité. Or dans ton cas, tu ne précises pas vraiment quelle est la fenêtre parente. De ce fait, ton JDialog reste modale.

Voilà

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte