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

Agents de placement/Fenêtres Java Discussion :

[SWING] Fenetre qui se ferme toute seule


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 279
    Points
    279
    Par défaut [SWING] Fenetre qui se ferme toute seule
    Bonjour,
    je ne comprend pas quelque chose dans mon code.
    A partir de la fonction actionPerformed(ActionEvent e) d'une fenêtre principale, j'ai le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // On affiche la fenêtre d'attente pour la
    // recherche de l'ID dans la base de données
    FenetreAttente fenetreAttente = new FenetreAttente();
    
    // On envoie le nom et le prénom et on récupère 
    // l'ID du client (0 si le client n'existe pas) à partir de la BDD
    int id = gestionnaire.rechercheID(donnees);
    
    // On ferme la fenêtre d'attente quand le recherche
    // dans la base de données est terminée
    fenetreAttente.dispose(); // Cette ligne ou non, la fenêtre se ferme !
    Et voici le code de ma fenêtre secondaire (FenetreAttente) :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Font;
    import javax.swing.JDialog;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
    public class FenetreAttente extends JDialog {
        // Un panel principal regroupant le panel de l'animation et
        // le panel du label
        private JPanel panelPrincipal = null;
     
        // Le panel de l'animation
        //private PanelAnimation panelAnimation = null;
     
        // Le label qui affiche le message d'attente
        private JLabel label = null;
     
        // Une police pour les label
        private Font police = null;
     
        // Le panel du label
        private JPanel panelLabel = null;
     
        public FenetreAttente() {
            // On instancie le panel de l'animation
            //panelAnimation = new PanelAnimation();
     
            // On instancie le label
            label = new JLabel("Vérification de l'existence du client dans" +
                    " la base de données");
     
            // On définit une police
            police = new Font(null, Font.ITALIC, 12);
     
            // On associe la police au label
            label.setFont(police);
     
            // On associe la couleur blanche au label
            label.setForeground(Color.white);
     
            // On instancie le panel du label
            panelLabel = new JPanel();
     
            // On associe la couleur noire au panelLabel
            panelLabel.setBackground(Color.black);
     
            // On ajoute le label au panelLabel
            panelLabel.add(label);
     
            // On instancie le panel principal
            panelPrincipal = new JPanel(new BorderLayout());
     
            // On ajoute au panelPrincipal les deux JPanel
            //panelPrincipal.add(panelAnimation, BorderLayout.CENTER);
            panelPrincipal.add(panelLabel, BorderLayout.SOUTH);
     
            // On affiche tous les éléments dans la fenêtre
            this.getContentPane().add(panelPrincipal);
     
            // On rend la fenêtre dimensionnable en fonction des composants
            this.pack();
     
            // On rend la fenêtre non redimensionnable
            this.setResizable(false);
     
            // On centre la fenêtre à l'écran
            this.setLocationRelativeTo(null);
     
            // On rend la fenêtre visible
            this.setVisible(true);
        }
    }
    Au commentaire rouge, la fenêtre se ferme toute seule. De plus, rien ne s'affiche dans ma fenetre d'attente. Sous Vista : tout le contenu de la fenêtre d'attente n'apparait pas, tout est transparent ?!

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 279
    Points
    279
    Par défaut
    Je viens de comprendre. En fait, l'affichage de se fige directement car il y a un traitement lourd en même temps (recherche d'un champ dans une base de données qui dure 6-7 secondes). A la fin de la recherche, la fenêtre d'attente (la fenêtre secondaire) s'affiche correctement.
    La fenêtre d'attente se fermait toute seule parce que j'avais testé juste avant en mettant le :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    fenetreAttente.dispose();
    Quand j'ai relancé la compilation, il a dû foirer. J'ai refais un "Clean and Build" avec NetBeans, et tout a fonctionné correctement.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/07/2012, 15h26
  2. Form qui se ferme toute seule
    Par Papy214 dans le forum Visual Studio
    Réponses: 2
    Dernier message: 11/12/2008, 14h12
  3. fenetres qui se lancent toutes seules..
    Par donnadieujulien dans le forum JBuilder
    Réponses: 4
    Dernier message: 18/07/2008, 10h00
  4. Outllok 2003 - Fenetre qui se ferme toute seule
    Par joky1209 dans le forum Outlook
    Réponses: 2
    Dernier message: 18/03/2008, 14h00
  5. Réponses: 6
    Dernier message: 16/08/2006, 15h56

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