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 :

Problème avec JDialog


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 174
    Par défaut Problème avec JDialog
    bonsoir tout le monde,

    j'ai une fenêtre de type JDialog qui se lance après un clic sur un bouton, au même temps je lance un deuxième fenêtre JDialog, mon problème est que je vois qu'une seule fenêtre c'est la dernière affichée mais la première ne sera visible que lorsque je ferme la première. Toutes mes deux classes héritent de JDialog.

    un morceau de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class Premiere_Fenetre extends JDialog {
                             .................................
            Premiere_Fenetre() {
    		    	 setContentPane(pCenter);
    		    	 setSize(1000,650);
    		    	 setLocationRelativeTo(null);
    		    	 setResizable(false);
    		    	 setVisible(true);
     
                             deuxieme_fenetre.setModal(true);
    	   		 deuxieme_fenetre.setVisible(true);
     
                          }
    }

    merci d'avance.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 107
    Par défaut
    Salut,

    comme ta premiere fenetre est un JDialog qui est modal, et qui est rendu visible avant la seconde, ta seconde fenetre ne s'ouvrira que lorsque tu aura fermé la première.

    Concrètement, ton JDialog ne rend pas la main à ton fil d'éxécution tant qu'il ne sera pas dispose. Ce qui a pour effet de bloquer l'accès à tous le reste de ton IHM.

    Mainenant ce que tu essaye de faire est assez contre nature. Tu ne peux pas rendre deux JDialog visible en même temps et travailler sur les deux en même temps.

  3. #3
    Membre confirmé
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 174
    Par défaut
    merci pour ta réponse, mais j'ai une deuxième partie qui lance un premier JDialog et après un clic sur un bouton je lance le deuxieme JDialog et le permier sera bloqué son problème.

    dans mon cas j'arrive pas à le faire en affichant les deux JDialog l'un après l'autre, il y aura surement une astuce.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 107
    Par défaut
    Sans ton code qui fait appel à ton second JDialog je ne peux pas trop t'aider.

  5. #5
    Membre confirmé
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 174
    Par défaut
    voila la solution de mon problème:

    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
    package JDialog;
     
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.JButton;
    import javax.swing.JDialog;
    import javax.swing.JFrame;
     
     
     
    public class DeuxJDialog2 {
     
        private JFrame frame = new JFrame();
        JButton button = new JButton("go");
        JdialogParent jdp;
     
        public DeuxJDialog2() {
            frame.setSize(300, 300);
            frame.setVisible(true);
            frame.getContentPane().setLayout(new FlowLayout());
            frame.add(button);
            button.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    jdp = new JdialogParent(frame);
                }
            });
        }
     
        @SuppressWarnings("serial")
    	class JdialogEnfant extends JDialog {
     
            public JdialogEnfant(JdialogParent jdp) {
                super(jdp);
                setTitle("Enfant");
                setSize(100, 100);
                setLocationRelativeTo(null);
                setModal(true);
                setVisible(true);
            }
        }
     
        @SuppressWarnings("serial")
    	class JdialogParent extends JDialog {
     
            JButton button2 = new JButton("go");
     
            public JdialogParent(JFrame parent) {
                super(parent);
                setSize(200, 200);
                setTitle("Parent");
                setLocationRelativeTo(null);
                setModal(true);
     
                this.getContentPane().setLayout(new FlowLayout());
                this.add(button2);
                button2.addActionListener(new ActionListener() {
     
                    public void actionPerformed(ActionEvent e) {
                        new JdialogEnfant(JdialogParent.this);
                    }
                });
                setVisible(true);
            }
        }
     
        public static void main(String[] args) {
            new DeuxJDialog2();
        }
    }
    merci.

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

Discussions similaires

  1. Problème avec JDialog appelant JWindow
    Par leopercepied dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 28/02/2014, 16h29
  2. Problème avec une JDialog
    Par Fr33dom dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 19/01/2008, 16h32
  3. [débutant]2 petits problèmes avec JDialog
    Par pingoui dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 18/02/2007, 19h46
  4. [Débutante] problème avec JDialog
    Par maya dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 02/12/2006, 04h44
  5. [JDialog] Problème avec l'aspect modal
    Par TylerKnoxx dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 02/10/2006, 16h20

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