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

NetBeans Java Discussion :

[NetBeans] Comment fermer une fenetre à partir d'une méthode privée


Sujet :

NetBeans Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 16
    Points : 13
    Points
    13
    Par défaut [NetBeans] Comment fermer une fenetre à partir d'une méthode privée
    Bonjour,

    Apres avoir instancié une JFrame dans le main de la classe. Comment puis-je utiliser cette fenetre pour la fermer sous l'action d'un bouton. Mais ne fermer uniquement que cette fenetre et non quitter completement le programme.

    public class ComptoirFact_Administrateur extends javax.swing.JFrame {

    // Constructeur
    public ComptoirFact_Administrateur() {
    initComponents();
    setBounds(300,200,400,280);
    setTitle("ComptoirFact - Administrateur");
    }
    // Gestion de l'évenement click de souris
    private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {
    // Sous cet évenement comment fermer la fenetre en cours ?
    }


    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new ComptoirFact_Administrateur().setVisible(true);
    }
    });
    }
    }


    Je vous remercie pour vos précieuses réponses.

  2. #2
    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
    Ce qu'il te faut faire, c'est déclarer ta frame en variable d'instance, de la manière suivante :

    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
    19
    20
    21
    22
    ComptoirFact_Administrateur frame = null;
     
    // Constructeur
    public ComptoirFact_Administrateur() {
    initComponents();
    setBounds(300,200,400,280);
    setTitle("ComptoirFact - Administrateur");
    }
    // Gestion de l'évenement click de souris 
    private void jButton2MouseClicked(java.awt.event.MouseEvent evt) { 
    // Sous cet évenement comment fermer la fenetre en cours ?
    } 
     
     
    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    frame = new ComptoirFact_Administrateur();
    frame.setVisible(true);
    }
    });
    }
    Comme ca, elle est accessible de partout.

    Ensuite pour la fermer, il te suffira de faire :

    Cela va fermer la fenêtre et libérer ses ressources sans quitter le programme.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Ok je te remercie. Aujourd'hui j'ai fait à peu pres la meme chose que toi et ca a marché mais ta méthode est plus simple.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Ah bah non en fait, cela c'est l'erreur que j'ai faite au début lorsque tu mets :

    ComptoirFact_Administrateur frame = null;

    Il te dis qu'il ne connait pas la classe ComptoirFact_Administrateur, deplus quand tu mets :

    frame = new ComptoirFact_Administrateur();
    frame.setVisible(true);

    Il te dit que frame est une variable non statique et qu'elle ne peut pas s'associer à une methode static.

    Donc voila ce que j'ai fait tu me dis si j'ai raison ou pas.

    static JFrame frame;

    // Constructeur etc..

    et dans le main j'ai écris cela :

    ComptoirFact_Identification comptoir = new ComptoirFact_Identification();
    comptoir.setVisible(true);
    frame = comptoir;

    Et ca marche .. mais peut etre est ce trop dur, trop complexe, je ne sais pas.

    @+

  5. #5
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 45
    Points : 32
    Points
    32
    Par défaut fermer le frame instancié seulement??
    salut.
    j'ai le meme problème; c'est à dire lorsque je vais fermer une frame extencié d'une autre frame main, la frame main aussi se ferme.
    que fait la fonction dispose() et comment l'utiliser pour la fermeture en utilisant le bouton fermer??
    merci d'avance.

  6. #6
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 45
    Points : 32
    Points
    32
    Par défaut [problème d'exception]
    salut.
    bon ce problème est maintenant résolu, sauf que dans une frame j'ai besoin d'une création d'un video, dans ce cas l' erreur suivante parait :
    "unreported exception java.io.IOException; must be caught or declared to be thrown"
    sachant que si je ferme tout ce qui est lié au vidéo, tout marche bien.
    est ce que quelqu'un sait comment corriger ce problème??
    merci d'avance.

  7. #7
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 814
    Points : 7 642
    Points
    7 642
    Par défaut
    Salut,

    Citation Envoyé par ghazel16 Voir le message
    est ce que quelqu'un sait comment corriger ce problème??
    Ben comme c'est écrit, tu as une exception, soit tu la catch, soit tu la déclares...

    Après, il nous faudrait un poulet pour t'en dire plus... ou du marc de café... ou une boule en cristal mais c'est plus cher...

Discussions similaires

  1. Rafraichir une fenetre a partir d'une autre
    Par dad72 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 26/12/2009, 00h04
  2. ouvrir une fenetre a partir d une autre
    Par beraaa dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 30/12/2007, 12h56
  3. Comment fermer une fenetre a partir d'une frame
    Par ideal dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/08/2006, 13h39
  4. ouvrir une fenetre a partir d'une autre
    Par kain_tn dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 24/05/2006, 13h38
  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