Fermer un formulaire en JAVA [Résolu]

johann36 132 Messages postés dimanche 15 février 2004Date d'inscription 9 mai 2017 Dernière intervention - 25 avril 2010 à 15:16 - Dernière réponse :  HFMLCode
- 6 mars 2017 à 14:33
Bonjour à tous,

Bon alors là, je crois que je détiens la palme d'or, je ne sais pas comment on fait pour fermer un formulaire.

Je m'explique, je viens de créer un formulaire où l'utilisateur vient s'identifier, une fois l'identification réussi, je veux fermer le formulaire de l'identification puis ouvrir le formulaire principal.

Mais voilà, je n'arrive pas à faire des choses simple.

Merci d'avance à tous pour votre aide.
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
johann36 132 Messages postés dimanche 15 février 2004Date d'inscription 9 mai 2017 Dernière intervention - 1 mai 2010 à 17:19
3
Merci
Merci WikiDARK,

Toujours fidèle à ton image, c'est SUPER !!! Cela fonctionne parfaitement. A dire vrai je n'appelai pas la fonction AfficheFenetre car je l'ouvrai autrement. Ce qui m'intéressé c'était de la masquer.

Problème à merveille.

Merci DARK, je clos donc le sujet.

Passe un bon WE et @+

Merci johann36 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de johann36
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 25 avril 2010 à 18:57
0
Merci
Salut,

Pour afficher ton formulaire, tu as fait : setVisible(true), et bien là il suffit de faire l'inverse : setVisible(false).
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
johann36 132 Messages postés dimanche 15 février 2004Date d'inscription 9 mai 2017 Dernière intervention - 26 avril 2010 à 20:10
0
Merci
Salut DARK,

Je sais pas pourquoi mais au moment ou j'ai posé cette question je me suis dit la première personne qui va répondre ça va être toi et voilà c'est fait.

Pour revenir à ma question, j'ai essayé de faire ce que tu m'as dit mais cela ne fonctionne pas.

Le formulaire en lui même je n'ai pas accès à cette fonction il faut que je déclare une nouvelle de mon formulaire et là j'ai la fonction mais sens succès.

Pourrais-tu me donner plus de détails dans la démarche à suivre ?

Je t'en remercie d'avance.

@+
Commenter la réponse de johann36
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 26 avril 2010 à 20:44
0
Merci
Salut,

Et oui, DKS tire plus vite que son ombre

Comment tu crées ton JFrame ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
johann36 132 Messages postés dimanche 15 février 2004Date d'inscription 9 mai 2017 Dernière intervention - 26 avril 2010 à 21:19
0
Merci
Salut DARK,

Je fais
 
public class NomFrame(){

    public static void BTN_CNX{
       // Pour masquer la fenêtre, vu précédemment avec WikiDARK
       // Mais ça ne marche pas car je n'ai pas accès à la fonction
       NomFrame.setVisible(false);

       // Code jojo mais ça ne marche pas non plus
       NomFrame TestFrame = new NomFrame;
       TestFrame.setVisible(false);
    }

    public static void main(){
       .... code de démarrage
    }
}


Bon ben voilà comment je procède

@+
Commenter la réponse de johann36
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 26 avril 2010 à 21:56
0
Merci
Salut,

si ta fonction est directement dans ton JFrame, tu peux directement l'appeler avec this :

public class NomFrame(){

    public static void BTN_CNX{
       // Pour masquer la fenêtre, vu précédemment avec DwikiSidious
       // Mais ça ne marche pas car je n'ai pas accès à la fonction
       this.setVisible(false);
    }

    public static void main(){
       .... code de démarrage
    }
}


Par contre, pourquoi ta fonction BTN_CNX et static ??? Tu as un intérêt particulier de la même static ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
johann36 132 Messages postés dimanche 15 février 2004Date d'inscription 9 mai 2017 Dernière intervention - 27 avril 2010 à 07:24
0
Merci
Salut DARK,

Bon j'ai essayé ce que tu m'as dit mais ça ne fonctionne toujours pas, vu que 70% des problèmes informatique sont situés entre la chaise et l'ordinateur, je vais donc supposer que c'est moi le fautiste.

Donc pour faire plus simple je vais mettre le code source complet (enfin ce que je pense être le plus important), te voici donc le copié/collé :
	private void BTN_CNXActionPerformed(java.awt.event.ActionEvent evt) {                                        
        /**ON VERIFIE L'ID ET LE MOT DE PASSE*/
if (TXT_ID.getText().equals("toto") && TXT_PW.getText().equals("1234")){
                        /**MASQUE LA FENETRE ACTIVE*/
this.setVisible(false);
            Fen_Chat OuvFenChat = new Fen_Chat();
            /**ON RECUPERE LA RESOLUTION DE L'ECRAN AFIN DE CENTRER LA FENETRE*/
            Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
            /**LA FENETRE SE POSITIONNE AU CENTRE DE L'ECRAN*/
            OuvFenChat.setLocation((screen.width - OuvFenChat.getSize().width)/2,(screen.height - OuvFenChat.getSize().height)/2);
            OuvFenChat.setVisible(true);            
        }
        else{
            JOptionPane.showMessageDialog(null,"Connexion impossible !\nL'identifiant ou le mot de passe est incorrect.");
        }
    }                                       

    public static void CenterWindow(){
        /**CREATION DE L'INSTANCE FEN_ID*/
        Fen_ID fen = new Fen_ID();

        /**ON RECUPERE LA RESOLUTION DE L'ECRAN AFIN DE CENTRER LA FENETRE*/
        Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();

        /**LA FENETRE SE POSITIONNE AU CENTRE DE L'ECRAN*/
        fen.setLocation((screen.width - fen.getSize().width)/2,(screen.height - fen.getSize().height)/2);

        /**AFFICHAGE DE LA FENETRE*/
        fen.setVisible(true);
    }

    /** DEMARRAGE */
    public static void main(String args[]) {
         /** GESTION DE LA FENETRE */
        CenterWindow();
    }


Dis-moi si tu as besoin d'autres renseignement car là ! Franchement, pour juste masquer un formulaire c'est la galère. j'hallucine !!!!
Commenter la réponse de johann36
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 27 avril 2010 à 07:59
0
Merci
Salut,

Ok, donc si j'ai bien compris, tu veux masquer la frame Fen_ID c'est cà ?

Il faut que tu stocke l'instance de la fenêtre à masquer au niveau de ta classe et non dans une méthode, et appeler le setVisible sur cette instance :
public class TaClasse {
  private JFrame taFenetre; // ici tu stocke ton instance de fenêtre.

  public void afficherFenetre() { // peux aussi être un listener
    // ... code métier
    taFenetre = new JFrame();
    taFenetre.setVisible(true); // tu rends ta fenêtre visible
    // ... reste du code métier
  }

  public void fermerFenetre() { // peux aussi être un listener
    // ... code métier
    taFenetre.setVisible(false); // tu rends ta fenêtre invisible
    // ... reste du code métier
  }
}

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
johann36 132 Messages postés dimanche 15 février 2004Date d'inscription 9 mai 2017 Dernière intervention - 1 mai 2010 à 16:30
0
Merci
Salut DARK,

Désolé de répondre aussi tardivement mais je n'ai pas été présent chez de la semaine. Alors je viens d'essayer de faire ce que tu m'as et tu comprends que si je poste à nouveau un message c'est que je n'y suis pas arrivé.

En fait je ne comprend pas très bien ce que tu veux que je fasse, je sais pour les autres qui vont lire ce sujet sa paraître simple mais moi pour moi désolé ... :-(

En gros ce que j'ai fait c'est de copier ton code et de le coller dans ma classe mais lorsque je fais appel à la fonction fermerFenetre() j'ai les messages d'erreurs suivant :

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at chat_rsx112.Fen_ID.fermerFenetre(Fen_ID.java:18)
at chat_rsx112.Fen_ID.BTN_CNXActionPerformed(Fen_ID.java:106)
at chat_rsx112.Fen_ID.access$0(Fen_ID.java:103)
at chat_rsx112.Fen_ID$1.actionPerformed(Fen_ID.java:46)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)


Je te remercie d'avance pour toutes les aides que tu m'apportes.
Commenter la réponse de johann36
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 1 mai 2010 à 16:41
0
Merci
Salut,

Est-ce que tu as bien appelé la fonction afficherFenetre avant l'appel à fermerFenetre ?

Il faut bien entendu que la variable taFenetre pointe vers ta JFrame au moment de l'appel de fermerFenetre, sinon forcément, il te lance un NullPointerException.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
issagen 3 Messages postés samedi 13 janvier 2007Date d'inscription 3 août 2010 Dernière intervention - 7 juil. 2010 à 02:56
0
Merci
merci les amis
Commenter la réponse de issagen
0
Merci
Utilse simplement la méthode
dispose();
Commenter la réponse de HFMLCode

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.