Ouvrir une fenetre à partir d'une autre

Fermé
edhgjhdgj Messages postés 23 Date d'inscription samedi 22 août 2015 Statut Membre Dernière intervention 19 décembre 2016 - Modifié par baladur13 le 1/10/2016 à 00:46
faseldi Messages postés 279 Date d'inscription dimanche 9 novembre 2014 Statut Membre Dernière intervention 3 janvier 2017 - 3 oct. 2016 à 21:58
Bonjour,

Quand je clique sur un bouton de la première fenêtre f1 pour ouvrir la deuxième fenêtre f2, la nouvelle fenêtre qui s'ouvre est vide, il n'y a que les boutons agrandir, réduire et quitter ( et quand j’agrandis la fenêtre, elle est vide).

public class F1 {
 
private JFrame frame;

public static void main(String[] args) 
{        
        EventQueue.invokeLater(new Runnable()
        {            
              public void run() 
                {               
                  try {
                         FenetreDeConnection window = new FenetreDeConnection();
                         window.frame.setVisible(true); 
                 } 
                 catch (Exception e) { e.printStackTrace();  }
                }
        });    
 }         

public F1() {  initialize(); }

 private void initialize() {
        button.addActionListener(new ActionListener()  {   
             @Override 
              public void actionPerformed(ActionEvent arg0) 
             {
                 frame.dispose(); 
                 F2 f2 = new F2();
                  f2.setVisible(true); 
              } 
         }             
   });         
}}




public class F2 extends JFrame { 
       
      private JFrame frame;
 
      public static void main(String[] args) {
         EventQueue.invokeLater(new Runnable() {
             public void run() {
                 try {
                    FenetreDesRequetes window = new FenetreDesRequetes();
                    window.frame.setVisible(true); 
               } catch (Exception e) { e.printStackTrace(); }
             } 
        });    }   

public FenetreDesRequetes() {  initialize();}  

private void initialize() { ... }



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

1 réponse

faseldi Messages postés 279 Date d'inscription dimanche 9 novembre 2014 Statut Membre Dernière intervention 3 janvier 2017 20
3 oct. 2016 à 21:58
Bonsoir, le main n'est pas un constructeur, tu ne dois l'avoir qu'une seule fois dans ton code.

le constructeur de F2 a le profil suivant : F2(){ code... }

De plus utiliser le runnable que te propose ton IDE va te perdre plus qu'autre chose si tu débutes en prog java

remplace le public static void.... de F2 par un constructeur :
public F2(){
super(); // ici on appelle le constructeur de la JFrame que tu extends
FenetreDesRequetes window = new FenetreDesRequetes(); // on construit ta fenetre des requetes
this.add(window); // on ajoute à la fenetre ta fenetre
}


Note : ta fenetre des requetes ne peut pas être ajouté en l'état.

Je suppose qu'elle contient un JPanel ou un JScrollPane, de ce fait, elle devrait avoir le profil suivant:
public class FenetreDesRequetes extends JPanel{...}


remplace le JPanel à l'intérieur de la requete par le "this" qui dit "je suis un JPanel"
0