Problème avec des JInternalFrame

JavaGuiGui Messages postés 6 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 12 décembre 2003 - 12 nov. 2003 à 15:57
JavaGuiGui Messages postés 6 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 12 décembre 2003 - 12 nov. 2003 à 16:54
Bonjour à tous,

Voilà mon problème :
J'ai plusieurs JInternalFrame qui se crée et s'affiche lorsque je clique sur des boutons d'une JMenuBar. Jusque là tout va bien... Mais quand je reclique sur un de ces boutons, si la JInternalFrame existe déjà je ne veux pas en créer une autre.
Pour cela j'ai insérer un test du type :
if ( maJInternalFrame == null )....

La première fois, la JInternalFrame n'existe pas alors elle se crée, la seconde fois, elle ne se recrée pas. Mais, quand je la ferme (avec un dispose() ) et que je reclique sur le bouton, le test me dit qu'elle existe et donc il ne la réaffiche pas.

Quelqu'un pourrait-il me dire comment faire pour qu'un boutton me permette de crée une nouvelle JInternalFrame que s'il n'est pas déjà créée ?

Merci d'avance

5 réponses

benohite Messages postés 210 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 18 décembre 2003 7
12 nov. 2003 à 16:21
bonjour,

il te faut redecalrer ta jinternal comme null apres l avoir fermée
quand tu fermes ta fenetre tu fais:
maInternalFrame = null;


benohite
:big)
0
benohite Messages postés 210 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 18 décembre 2003 7
12 nov. 2003 à 16:24
pour info la methode dispose() rend invisible deselectionne et ferme ta fenetre mais ca ne veut pas dire qu elle detruit l objet

benohite
:big)
0
JavaGuiGui Messages postés 6 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 12 décembre 2003
12 nov. 2003 à 16:31
maJInternalFrame = null serait la meilleure solution mais je la ferme depuis elle même, autrement dit je ne peux pas faire this = null....
0
benohite Messages postés 210 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 18 décembre 2003 7
12 nov. 2003 à 16:35
il te suffit de faire une methode static dans ta classe mere (Jframe) qui prendra en parametre ta jinternalframe et la mettra a null
un truc du genre:
[Code]
public static fermreFenetre(JinternalFrame fenetreAFermer)
{
fenetreAFermer = null;
}
//et pour l appelle qd tu fermers ta jinternalframe tu fais:
MaClasseMere.fermeFenetre(this);

benohite
:big)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JavaGuiGui Messages postés 6 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 12 décembre 2003
12 nov. 2003 à 16:54
Bien joué benohite, merci
0
Rejoignez-nous