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 :

[Debutante] erreur Exception in thread "AWT-EventQueue-0"


Sujet :

AWT/Swing Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 296
    Par défaut [Debutante] erreur Exception in thread "AWT-EventQueue-0"
    salut à tous,
    Merci de m'aider svp
    j'ai fait un code qui me permet d'ouvrir une fenetre en cliquant sur un bouton.
    Mais j'ai l'erreur 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
    23
    24
    25
    26
    27
    28
    29
    30
    Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: adding a window to a container
    	at java.awt.Container.addImpl(Unknown Source)
    	at java.awt.Container.add(Unknown Source)
    	at fr.istase.stats.extraction.Ihm.AjouterSActionPerformed(Ihm.java:284)
    	at fr.istase.stats.extraction.Ihm.access$4(Ihm.java:193)
    	at fr.istase.stats.extraction.Ihm$5.actionPerformed(Ihm.java:131)
    	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.pumpOneEventForHierarchy(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)
    La ligne 284 correspond à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getContentPane().add(jDialog1,null);
    la ligne 193 correspond à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private void AjouterSActionPerformed(java.awt.event.ActionEvent evt)
    et la ligne 131 correspond à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AjouterSActionPerformed(evt);
    Tout en sachant que ma classe Ihm hérite de JFrame et non de JDialog et que j'utilise aussi un JDialog pour afficher le fenetre qunad je clique sur le bouton.
    merci d'avance

  2. #2
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 824
    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 824
    Par défaut
    Salut,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.IllegalArgumentException: adding a window to a container

    en bon français de chez nous: "argument illégal... tu essaies de mettre une fenêtre dans un conteneur!"

    En gros, ça ne se fait pas!

    Tu veux faire quoi exactement?
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 296
    Par défaut
    je veux en cliquant sur un bouton ouvrir une autre fenetre dans laquelle il ya des textfield à remplir

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 296
    Par défaut
    j'ai cherché sur le net et j'ai trouvé que ça se fait avec JDialog.
    Au fait l'application doit me permettre d'ajouter un service dans une BDD mysql ( ce sont les textfield que je rempli )

  5. #5
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Ca veut dire quoi pour toi
    Citation Envoyé par mariafan
    ajouter un service dans une BDD mysql ( ce sont les textfield que je rempli)
    Sinon oui, il vaut mieux utiliser des JDialog.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 296
    Par défaut
    cela veut dire que j'ai une fenetre principale dans laquelle il y a un bouton. Quand je clique sur ce bouton , il m'ouvre une autre fenetre où il y a champs à remplir afin qu'ensuite ajouter ces chmaps dans la BDD

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 296
    Par défaut
    Mais le pb,
    j'ai cherché sur le net et j'ai trouvé: que je ne peux pas ajouter un jDialog à un Jpanel ??????
    C'est vrai ou pas??

  8. #8
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Ben lors du clic sur le bouton tu ouvres un JDialog tout simplement pas besoin de s'embeter d'un JPanel puisque tu peux utiliser un layout avec ton JDialog.

    Regarde notamment ce lien pour bien utiliser un JDialog ICI

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 296
    Par défaut
    Je pense que j'ai pas bien expliqué

    J'ai une Jpanel où il ya plusieurs boutons, quand je clique sur un bouton, il doit m'ouvrir une fenetre où il y a des champs à remplir
    Donc j'ai besoin de la Jpanel dans la première fenetre.
    et sinon comment utiliser un layout avec JDialog??

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 296
    Par défaut
    et vous pensez que l'erreur vient de là?
    ET une autre question ma classe doit hériter de JDialog mais je l'ai déjà fait hériter de JFrame.
    comment faire dans ce cas?

  11. #11
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Non tu as pas bien compris. Tu gardes ta frame principale avec tes boutons. Quand tu cliques sur un bouton, tu ouvres pas une fenêtre mais un JDialog pour remplir tes champs qui se trouvent dans ce JDialog.

    La classe devra en effet hériter de JDialog. Par exemple,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public class maJDialog() extends JDialog
    Tu as un peu mieux compris?

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 296
    Par défaut
    Je te montre ce que j'ai fais et tu me dis ce que tu pense. ok?
    le 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
    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
     
    public class Ihm extends javax.swing.JFrame {
    //la classe principale
    public Ihm (){
    		initComponents();
    	}
    //contructeur
    private void initComponents() { 
    ...
    //les variables
    jPanel.setLayout(null);
    //le panel principale qui contient le bouton Ajouter service
    Ajouter_service.setText("Ajouter un service");
    	       Ajouter_service.addActionListener(new java.awt.event.ActionListener() {
    	           public void actionPerformed(java.awt.event.ActionEvent evt) {
    	               AjouterSActionPerformed(evt);
    	           }
    	       });
     
    	       jPanel.add(Ajouter_service);
    	       Ajouter_service.setBounds(380, 200, 140, 23);
     
    	       getContentPane().add(jPanel);
    	       jPanel.setBounds(0, 0, 670, 460);
     
    	       java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
    	       setBounds((screenSize.width-661)/2, (screenSize.height-395)/2, 661, 395);
    	   }  
    //l'action quand je clique sur le bouton ajouter service                      
    private void AjouterSActionPerformed(java.awt.event.ActionEvent evt) {
     
    //la JDialog
    		   getContentPane().setLayout(null);
    		   jDialog1.setTitle("Ajouter un Service");
    		   setResizable(false);
    		   addWindowListener(new java.awt.event.WindowAdapter() {
    	            public void windowClosing(java.awt.event.WindowEvent evt) {
    	                exitForm(evt);
    	            }
    	        });
    		   jDialog1.setSize(400,400);
    		   jDialog1.setLayout(null);
    		   jDialog1.setBackground(javax.swing.UIManager.getDefaults().getColor("Menu.selectionBackground"));
    		   jDialog1.setVisible(true);
     
     
     
    	   	 ok.setText("Ok");
    	     ok.addActionListener(new java.awt.event.ActionListener() {
    	         public void actionPerformed(java.awt.event.ActionEvent evt) {
    	             try {
    						okActionPerformed(evt);
    					} catch (Exception e) {
    						JOptionPane.showMessageDialog(null,"vous avez dépassé le nombre d'heures autorisées ou le service existe déjà :" + e.getMessage() );
    						e.printStackTrace();
    					}
    	         }
    	     });
    	     jDialog1.add(ok);
    	     ok.setBounds(90, 300, 70, 23);
     
     
     
    	     annuler.setBounds(190, 300, 80, 23);
    	     annuler.setText("Annuler");
    	     annuler.addActionListener(new java.awt.event.ActionListener() {
    	         public void actionPerformed(java.awt.event.ActionEvent evt) {
    	             annulerActionPerformed(evt);
    	         }
    	     });
    	     jDialog1.add(annuler);
    	 //les label et les jtext de la Jdialog
    	     jLabel1.setText("Nom Enseignant :");
    	     jDialog1.add(jLabel1);
    	     jLabel1.setBounds(80, 20, 200, 20);
     
    	     jLabel2.setText("Module :");
    	     jDialog1.add(jLabel2);
    	     jLabel2.setBounds(80, 60, 200, 20);
     
    	     jLabel3.setText("Etat du paiement :");
    	     jDialog1.add(jLabel3);
    	     jLabel3.setBounds(80, 100, 200, 20);
     
    	     jLabel4.setText("Date de majoration :");
    	     jDialog1.add(jLabel4);
    	     jLabel4.setBounds(80, 140, 200, 20);
     
    	     jLabel5.setText("Heures prevues :");
    	     jDialog1.add(jLabel5);
    	     jLabel5.setBounds(80, 180, 200, 20);
     
    	     jLabel6.setText("Heures effectuees :");
    	     jDialog1.add(jLabel6);
    	     jLabel6.setBounds(80, 220, 200, 20);
     
    	     jDialog1.add(Nom_Enseignant);
    	     Nom_Enseignant.setBounds(80, 40, 200, 22);
     
    	     jDialog1.add(Module);
    	     Module.setBounds(80, 80, 200, 22);
     
    	     jDialog1.add(Etat_paiement);
    	     Etat_paiement.setBounds(80, 120, 200, 22);
     
    	     jDialog1.add(Date_majoration);
    	     Date_majoration.setBounds(80, 160, 200, 22);
     
    	     jDialog1.add(Heures_prevues);
    	     Heures_prevues.setBounds(80, 200, 200, 22);
     
    	     jDialog1.add(Heures_effectuees);
    	     Heures_effectuees.setBounds(80, 240, 200, 22);
     
     
    	     getContentPane().add(jDialog1,null);
    	     jDialog1.setBounds(0, 0, 400, 400);
     
    	     java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
    	     setBounds((screenSize.width-374)/2, (screenSize.height-232)/2, 374, 232);
     
    	     addWindowListener(new java.awt.event.WindowAdapter() {
    	           public void windowClosing(java.awt.event.WindowEvent evt) {
    	               exitForm(evt);
    	           }
    	       });
    	   }
     
    	   private void annulerActionPerformed(java.awt.event.ActionEvent evt) {
    	 		dispose();
    	 	}
     
    //l'action sur le bouton ok de la jdialog
    	   private void okActionPerformed(java.awt.event.ActionEvent evt) throws Exception {
    	 		String Enseignant = Nom_Enseignant.getText();
    			String module = Module.getText();
    			int EtatP = Integer.parseInt(Etat_paiement.getText());
    			Date dateActuelle = new Date();
    			int hp = Integer.parseInt(Heures_prevues.getText());
    			int he = Integer.parseInt(Heures_effectuees.getText());
    			m.AjoutS(Enseignant, module, EtatP , dateActuelle, hp, he);
    	 	}
    	   private void exitForm(java.awt.event.WindowEvent evt) {                          
    	       System.exit(0);
    	   }
    Et donc je ne sais pas vraiment pourquoi il me met les erreurs????

  13. #13
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    La réponse est simple : une JFrame, une JWindow ou une JDialog ne peuvent pas être contenues dans un JPanel. Ce sont toujours les composants qui contiennent tout le reste. Tout ce qu'on peut faire, c'est pack() (pour ajuster les tailles), et setLocation (ou SetLocationRelativeTo, c'est plus pratique), pour les placer à l'écran.

    Tout ce que tu as à faire, c'est quelque chose dans ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private void createAndShowDialog() {
     
      jDialog1 = new JDialog(this, true); // la dialog est modale, elle bloque la JFrame "this"
     
      JPanel p = new JPanel(/*choisir un layout*/);
      p.add(/*un bouton*/);
      p.add(/*un label */);
      // etc
     
      jDialog1.setContentPane(p);
      jDialog1.pack();
      jDialog1.setLocationRelativeTo(this);
      jDialog1.setVisible(true);
    }
    Dans ce code, je ne fais jamais monContainer.add(jDialog1);.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 296
    Par défaut
    je n'ai plus d'erreurs par contre, j'ai une JDialog bizarre que vous trouverez attachée en miniature.

    Le nouveau code est le suivant:
    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    public class Ihm extends javax.swing.JFrame {
    //la classe principale
    public Ihm (){
    		initComponents();
    	}
    //contructeur
    private void initComponents() { 
    ...
    //les variables
    jPanel.setLayout(null);
    //le panel principale qui contient le bouton Ajouter service
    Ajouter_service.setText("Ajouter un service");
    	       Ajouter_service.addActionListener(new java.awt.event.ActionListener() {
    	           public void actionPerformed(java.awt.event.ActionEvent evt) {
    	               AjouterSActionPerformed(evt);
    	           }
    	       });
     
    	       jPanel.add(Ajouter_service);
    	       Ajouter_service.setBounds(380, 200, 140, 23);
     
    	       getContentPane().add(jPanel);
    	       jPanel.setBounds(0, 0, 670, 460);
     
    	       java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
    	       setBounds((screenSize.width-661)/2, (screenSize.height-395)/2, 661, 395);
    	   }  
    //l'action quand je clique sur le bouton ajouter service   
    private void AjouterSActionPerformed(java.awt.event.ActionEvent evt) {
     
    		   getContentPane().setLayout(null);
    			   jDialog1 = new JDialog(this, true); // la dialog est modale, elle bloque la JFrame "this"   
    			   JPanel p = new JPanel(); 
     
    			   ok.setText("Ok");
    			     ok.addActionListener(new java.awt.event.ActionListener() {
    			         public void actionPerformed(java.awt.event.ActionEvent evt) {
    			             try {
    								okActionPerformed(evt);
    							} catch (Exception e) {
    								JOptionPane.showMessageDialog(null,"vous avez dépassé le nombre d'heures autorisées ou le service existe déjà :" + e.getMessage() );
    								e.printStackTrace();
    							}
    			         }
    			     });
     
    			   p.add(ok); 
    			   ok.setBounds(90, 300, 70, 23);
     
    			     annuler.setText("Annuler");
    			     annuler.addActionListener(new java.awt.event.ActionListener() {
    			         public void actionPerformed(java.awt.event.ActionEvent evt) {
    			             annulerActionPerformed(evt);
    			         }
    			     });
    			   p.add(annuler);
    			   annuler.setBounds(190, 300, 80, 23);
     
    			   p.add(jLabel1); // etc 
    			   jLabel1.setText("Nom Enseignant :");
    			     jLabel1.setBounds(80, 20, 200, 20);
     
    			     p.add(jLabel2);
    			     jLabel2.setText("Module :");
    			     jLabel2.setBounds(80, 60, 200, 20);
     
    			     p.add(jLabel3);
    			   jLabel3.setText("Etat du paiement :");
    			     jLabel3.setBounds(80, 100, 200, 20);
     
    			     p.add(jLabel4);
    			     jLabel4.setText("Date de majoration :");
    			     jLabel4.setBounds(80, 140, 200, 20);
     
    			     p.add(jLabel5);
    			   jLabel5.setText("Heures prevues :");
    			     jLabel5.setBounds(80, 180, 200, 20);
     
    			     p.add(jLabel6);
    			   jLabel6.setText("Heures effectuees :");
    			     jLabel6.setBounds(80, 220, 200, 20);
     
    			     p.add(Nom_Enseignant);
    			   Nom_Enseignant.setBounds(80, 40, 200, 22);
     
    			   p.add(Module);
    			   Module.setBounds(80, 80, 200, 22);
     
    			   p.add(Etat_paiement);
    			   Etat_paiement.setBounds(80, 120, 200, 22);
     
    			   p.add(Date_majoration);
    			   Date_majoration.setBounds(80, 160, 200, 22);
     
    			   p.add(Heures_prevues);
    			   Heures_prevues.setBounds(80, 200, 200, 22);
     
    			   p.add(Heures_effectuees);
    			   Heures_effectuees.setBounds(80, 240, 200, 22);
     
    			   jDialog1.setContentPane(p); 
    			   jDialog1.pack(); 
    			   jDialog1.setLocationRelativeTo(this); 
    			   jDialog1.setVisible(true); 
                               jDialog1.setBounds(0, 0, 400, 400);
    	     java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
    	     setBounds((screenSize.width-374)/2, (screenSize.height-232)/2, 374, 232);
     
    	     addWindowListener(new java.awt.event.WindowAdapter() {
    	           public void windowClosing(java.awt.event.WindowEvent evt) {
    	               exitForm(evt);
    	           }
    	       });
    }
     
    private void annulerActionPerformed(java.awt.event.ActionEvent evt) {
    	 		dispose();
    	 	}
     
    	   private void okActionPerformed(java.awt.event.ActionEvent evt) throws Exception {//GEN-FIRST:event_okActionPerformed
    	 		//Mysql m=new Mysql();
    	 		//m.Connect("services");
    	 		String Enseignant = Nom_Enseignant.getText();
    			String module = Module.getText();
    			int EtatP = Integer.parseInt(Etat_paiement.getText());
    			Date dateActuelle = new Date();
    			int hp = Integer.parseInt(Heures_prevues.getText());
    			int he = Integer.parseInt(Heures_effectuees.getText());
    			//m.Connect("services");
    			m.AjoutS(Enseignant, module, EtatP , dateActuelle, hp, he);
    	 	}
     
    	   private void exitForm(java.awt.event.WindowEvent evt) {                          
    	       System.exit(0);
    	   }

  15. #15
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Alors là on arrive au deuxième point qui me tracassait. Dans ta JFrame, tu appelles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getContentPane().setLayout(null);
    , mais dans la construction de la JDialog, tu appelles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    getContentPane().setLayout(null);
    // ceci agit sur "this" et non sur ta jDialog
    // en gros cette ligne ne sert à rien
     
    JPanel p = new JPanel(); // équivalent à :
    // JPanel p = new JPanel(new FlowLayout());
    ...
    jDialog1.setContentPane(p);
    Le FlowLayout met tous les composants les uns après les autres dans l'ordre de leur ajout, donc le résultat est tout à fait normal. Pour faire ce que tu veux, il faudrait ajouter p.setLayout(null); juste après la création du JPanel.

    Tu choisis de ne pas utiliser de layout, et de placer les composants en valeurs absolues, c'est ton choix, mais c'est en général fortement déconseillé. A toi de voir. En général, les Layouts demandent un petit temps d'adaptation, mais sont très pratiques.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 296
    Par défaut
    Avec ce que tu m'as dis , j'ai une trés petite Jdialog que je dois agrandir pour voir les labels et textfield.
    est ce normal?

  17. #17
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Oui, car c'est le rôle du layout de tenir compte des tailles (minimum, préférée, maximum) des composants pour calculer la taille du conteneur. La tu mets le Layout à null, donc il faut appeler setPreferredSize sur la jDialog, avec des dimensions appropriées.

    J'en profite pour te répéter que c'est mieux avec des layouts (mais je comprends que tu veuilles d'abord faire marcher le code dans son état actuel). Pour la JDialog, je te conseille d'utiliser un GridLayout à 2 colonnes (simple, rapide, efficace).
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

Discussions similaires

  1. Erreur "Exception in thread "AWT-EventQueue-0""
    Par x2005man dans le forum Général Java
    Réponses: 1
    Dernier message: 04/01/2014, 17h03
  2. Réponses: 9
    Dernier message: 04/04/2012, 10h21
  3. Erreur "Exception in thread, setSelected(true)"
    Par zeroc00l dans le forum Concurrence et multi-thread
    Réponses: 8
    Dernier message: 10/02/2012, 11h21
  4. Erreur Exception in thread "AWT-EventQueue-0"
    Par titio04 dans le forum Débuter
    Réponses: 2
    Dernier message: 18/09/2009, 16h25
  5. erreur:Exception in thread main
    Par milsum dans le forum Concurrence et multi-thread
    Réponses: 1
    Dernier message: 26/07/2006, 15h34

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