Bonjour à tous,

je suis contraint de sauter quelques étapes dans mon apprentissage de Java (j'ai à peine commencé à mettre les mains dans la POO), car je dois préparer un programme d'administration de base de donnée et je n'ai vraiment pas de temps à revendre.
j'ai compris le fonctionnement global de swing (j'avais utilisé la librairie SDL en C et C++) mais j'ai un peu de mal avec la poo.

j'ai créé le menu principal de mon app avec le generateur d'interface d'intellij mais je ne trouve pas comment changer le contenu de la fenêtre, (soit en en chargeant une nouvelle, soit en changeant le contenu).
j'ai récupéré le listener du bouton "ajouter_tache (pour pouvoir le récupérer j'ai du remplacer la ligne 22 par la ligne 23) mais je ne sais pas quoi utiliser pour récupérer le form Menu2 que j'ai crée avec le generateur gui.

est-ce que je dois sortir le main de la classe menu1 ? ça me paraitrait logique mais si intellij le crée ici, il doit bien y avoir une raison..

merci d'avance!

voila ma classe Menu1
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
package ProjetPerso;
 
import javax.swing.*;
import javax.swing.plaf.nimbus.NimbusLookAndFeel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
public class Menu1 {
    private JPanel menuPrincipal;
    private JButton ajouter_tache;
    private JPanel Title;
    private JButton ajouter_materiel;
    private JButton modifier_tache;
    private JButton modifier_materiel;
    private JButton consulter;
    private JTextArea menuPrincipalTextArea;
    private JButton quitterButton;
 
    public static void main(String[] args) throws Exception {
        UIManager.setLookAndFeel(new NimbusLookAndFeel());
        JFrame frame = new JFrame("Menu1");
        //frame.setContentPane(new Menu1().menuPrincipal);
        Menu1 menu1 = new Menu1();
        frame.setContentPane(menu1.menuPrincipal);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
        //ActionListener[] listenerArray = menu1.consulter.getActionListeners();
 
        menu1.ajouter_tache.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //frame.dispose();
                //frame.setContentPane(new Menu2().getMenu_ajouter_tache());
 
                 //c'est ici que je ne sais pas quoi faire!!      
 
            }
        });
    }
 
    public Menu1() {
 
        consulter.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
 
            }
        });
        quitterButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
    }
}
et ma classe Menu2: (je me dis que la solution est peut être dans le constructeur mais, il y a encore beaucoup de choses qui m'échappent dans leur fonctionnement )
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
 
package ProjetPerso;
 
import javax.swing.*;
 
public class Menu2 {
    private JPanel Menu_ajouter_tache;
    private JTextArea ajouterUneTacheTextArea;
    private JTextField textField1;
    private JTextField textField3;
    private JTextField textField2;
    private JTextField textField4;
 
    public JPanel getMenu_ajouter_tache() {
        return Menu_ajouter_tache;
    }
 
    public Menu2() {
    }
}