Problème affichage JDialog

javaction Messages postés 28 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 15 mai 2013 - 18 juil. 2011 à 16:36
javaction Messages postés 28 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 15 mai 2013 - 21 juil. 2011 à 11:41
Bonjour,

je commence par vous remercier pour (au moins) l'attention que vous apporteriez à mon sujet, ensuite mon problème consiste à : j'ai une fenêtre principale "principale" qui contient un JButton "btnTotalcaisse" et une fenêtre fille JDialog "Totalcaisse".
bref quand j'appui sur le bouton "btnTotalcaisse" la fenêtre "Totalcaisse" apparaît mais quand je ferme cette dernière et je reviens sur le fenêtre principale pour reappuyer sur "btnTotalcaisse", mais cette fois ci la fenêtre "Totalcaisse" ne réapparaît pas.

si vous avez une solution ça serai sympa de m'aider, merci encore.

5 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
18 juil. 2011 à 19:35
Bonjour, sans voir ton code, c'est assez difficile de te répondre...
javaction Messages postés 28 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 15 mai 2013
19 juil. 2011 à 13:33
alors le code est un peu long, en plus il y a eu de le génération automatique sous netbeans :

"Totalcaisse"

package IHM;

import IHM.Principale.*;
import IHM.I_calculateur.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JTable;
import javax.swing.table.*;


public class Totalcaisse extends javax.swing.JDialog implements ActionListener {



    public Principale principale;
    public Totalcaisse totalcaisse;
    public BoutonListener boutonListener;
    public jTableRender tableRender;
    //public BoutonokListener boutooknListener;
    //public I_calculateur i_calculateur;
    

    Totalcaisse(Principale principale,/*I_calculateur i_calculateur,*/ boolean totalcaisse ) {
        initComponents();


        principale.btnTotalCaisse.addActionListener((ActionListener) new BoutonListener());
        lblNomAnimateur.setText(principale.getAnimateur());

       // i_calculateur.btnOk.addActionListener((ActionListener) new BoutonokListener());
       // ((DefaultTableModel) Tabletarifsanscarte.getModel()).addRow(new String[]{i_calculateur.lblPrixx.getText()});

        

        principale.btnTotalCaisse.addActionListener((ActionListener)new DateListener());
        lbldate.setText(principale.getLadate());
        Tabletarifsanscarte.setDefaultRenderer(Object.class, new jTableRender());
        Tablerecette.setDefaultRenderer(Object.class, new jTableRender());
        
              
    }




   public void actionPerformed(ActionEvent e) {
       
       principale.btnTotalCaisse.addActionListener((ActionListener) new BoutonListener());
       principale.btnTotalCaisse.addActionListener((ActionListener)new DateListener());
       //i_calculateur.btnOk.addActionListener((ActionListener) new BoutonokListener());

       Tabletarifsanscarte.setDefaultRenderer(Object.class, new jTableRender());
       Tablerecette.setDefaultRenderer(Object.class, new jTableRender());
       
    }

    public static final int RET_CANCEL = 0;
    /** A return status code - returned if OK button has been pressed */
    public static final int RET_OK = 1;

    public Totalcaisse(java.awt.Frame parent, boolean modal) {
        initComponents();
        
        principale.btnTotalCaisse.addActionListener((ActionListener) new BoutonListener());
        principale.btnTotalCaisse.addActionListener((ActionListener)new DateListener());
         //i_calculateur.btnOk.addActionListener((ActionListener) new BoutonokListener());
         
        Tabletarifsanscarte.setDefaultRenderer(Object.class, new jTableRender());
        Tablerecette.setDefaultRenderer(Object.class, new jTableRender());
       
    
    }}//la suite c'est la génération automatique


"Principale"

package IHM;
import IHM.Totalcaisse;
import IHM.Totalcaisse.*;
import java.awt.event.*;
import javax.swing.*;


public class Principale extends javax.swing.JFrame implements ActionListener {
     


     public Principale principale;
     public Totalcaisse totalcaisse;
     public I_calculateur i_calculateur;
     public BoutonListener boutonListener;
     public DateListener  dateListener;
     public String animateur;
     public String ladate;


       

    public Principale(Totalcaisse totalcaisse) {
        initComponents();
        btnTotalCaisse.addActionListener(boutonListener);
        btnTotalCaisse.addActionListener(dateListener);
        
    }

    private Principale() {
        initComponents();
    }

    public void actionPerformed(ActionEvent e) {
        btnTotalCaisse.addActionListener(boutonListener);
        btnTotalCaisse.addActionListener(dateListener);
    }
    




        public static void main(String args[]) {

        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new Principale().setVisible(true); }});
                  //la suite c'est la génération automatique

                  // Variables declaration - do not modify
    public javax.swing.JTextField SaisiNomAnimateur;
    private javax.swing.JButton btnQuitter;
    private javax.swing.JButton btnTarifAvecCarte;
    public javax.swing.JButton btnTotalCaisse;
    private javax.swing.JButton btnTraifSansCarte;
    private javax.swing.JLabel date;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JTextField jTextField1;
    public javax.swing.JTextField saisidate;
    // End of variables declaration

}


merci encore
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
19 juil. 2011 à 18:14
Je pense que c'est la boucle infinie qui créé une nouvelle fenêtre principale qui pose problème.

Je ne comprends pas pourquoi tu lances cette boucle, mais ta JWindow se retrouve toujours en dessous de la nouvelle fenêtre...
javaction Messages postés 28 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 15 mai 2013
21 juil. 2011 à 11:34
merci pour ta réponse julien39, mais je ne vois pas de boucle infinie !!! :(

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
javaction Messages postés 28 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 15 mai 2013
21 juil. 2011 à 11:41
en plus la fenêtre principale reste toujours ouverte, quand j'appui sur le bouton qui est dans "principale" ça m'ouvre une nouvelle fenêtre JDialog "Totalcaisse", ensuite quand je ferme cette dernière et je reviens sur "principale" pour reappuiyer sur le même bouton, la JDilaog ne se relance pas et l'erreur est une nullpointerexeption !!!!

enfin voilà

merci encore
Rejoignez-nous