IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

ouvrir une fenetre a partir d'une autre


Sujet :

AWT/Swing Java

  1. #1
    Expert éminent Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 624
    Points : 7 578
    Points
    7 578
    Par défaut ouvrir une fenetre a partir d'une autre
    Bonjour. Je travaille sur un projet pour la fac, et je me heurte a certains problemes: J'ai une fenetre principale avec un menu; lorsque je clique sur "Nouveau", il faut que j'ouvre une premiere boite de dialogue (en JInternalFrame) demandant des renseignements comme le nom du projet, puis en cliquant sur "OK", cela doit ouvrir une nouvelle "JInternalFrame" (avec le nom du projet affiche en haut - avec super()). Mon probleme c'est que je voudrais fermer la premiere boite de dialogue (avec dispose()) mais que sa fermeture entraine l'ouverture de la seconde...
    Quelqu'un a une idee?

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Salut,

    Il me semble que dans le ActionPerformed de ton bouton tu n'as cas faire un new InteralFrame(), puis ensuite seulement faire un this.dispose(). Essaie.

  3. #3
    Expert éminent Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 624
    Points : 7 578
    Points
    7 578
    Par défaut
    J'ai fait le test suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	OK= new JButton("Ok");
    	OK.addActionListener(new ActionListener(){
    		public void actionPerformed(ActionEvent e)
    		{
          		    String nomFenetre= inNom.getText();
    		    DialogueTravail monEspace1= new DialogueTravail(nomFenetre);
    		    this.dispose();
    		}
    });
    et DialogueTravail est une JInternalFrame prenant un String pour mettre un titre a la fenetre.
    En compilant, j'obtiens un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     ./compilation 
    Sources/Window0.java:561: cannot resolve symbol
    symbol: method dispose ()
                        this.dispose();
                        ^
    Visiblement, ca ne fonctionne pas...

  4. #4
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    C'est normal, car à l'endroit ou tu fais ton this, il ne pointe plus vers ta fenêtre, mais vers ton ActionListener, qui n'a donc pas de méthode dispose().

    Pour faire, cela, tu peut surcharger la méthode dispose() de ta fenetre et dedans, tu mets super.dispose() et dans ton listener, à la place de faire this.dispose(), tu n'auras que dispose() à faire.

  5. #5
    Membre chevronné
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    Citation Envoyé par wichtounet
    C'est normal, car à l'endroit ou tu fais ton this, il ne pointe plus vers ta fenêtre, mais vers ton ActionListener, qui n'a donc pas de méthode dispose().

    Pour faire, cela, tu peut surcharger la méthode dispose() de ta fenetre et dedans, tu mets super.dispose() et dans ton listener, à la place de faire this.dispose(), tu n'auras que dispose() à faire.
    Heu witchounet si je peux me permettre, le super.dispose() ne règlera pas le problème car dans ce cas il fera appel à la super classe de ActionListener qui ne dispose pas non plus de méthode dispose (hé jeu de mot ).

    La solution c'est de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nom_de_la_classe_du_JInternalFrame_contenant_l'_ActionListener.this.dispose();

  6. #6
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Lol je me suis mal fait comprendre

    Je pensais à quelque chose comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    {...
    OK= new JButton("Ok");
    	OK.addActionListener(new ActionListener(){
    		public void actionPerformed(ActionEvent e)
    		{
        String nomFenetre= inNom.getText();
    		    DialogueTravail monEspace1= new DialogueTravail(nomFenetre);
        dispose();
    		}
    });
     
    ...
    }
     
    public void dispose(){
          super.dispose();
    }

  7. #7
    Membre chevronné
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    Désolé, j'ai mal lu ta réponse...

    Cela dit la mienne marche aussi.

  8. #8
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par Descent
    Désolé, j'ai mal lu ta réponse...
    Pas grave lol

    Citation Envoyé par Descent
    Cela dit la mienne marche aussi.
    Ouais la tienne marche tout autant bien et en plus tu as pas besoin de créer une méthode en plus

  9. #9
    Expert éminent Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 624
    Points : 7 578
    Points
    7 578
    Par défaut
    Merci pour votre aide!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ouvrir une fenetre modale à partir d'une autre
    Par sabdoul dans le forum jQuery
    Réponses: 4
    Dernier message: 05/08/2014, 12h39
  2. Rafraichir une fenetre a partir d'une autre
    Par dad72 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 26/12/2009, 00h04
  3. acceder a une fenetre a partir d'un autre projet
    Par agrégation dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 21/03/2009, 11h18
  4. ouvrir une fenetre a partir d une autre
    Par beraaa dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 30/12/2007, 12h56
  5. Réponses: 2
    Dernier message: 03/02/2006, 16h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo