Bonjour, je débute et je patauge un peu avec Netbeans et son outil d'interfaces graphiques

- Mon but :
Pouvoir utiliser des CheckBox par exemple, pour créer ou supprimer des jPanels dans ma jFrame principale - Attention, ils ne sont pas créés à l'avance, je ne dois pas uniquement faire setVisible(true/false). Ces jPanels proviennent d'une autre classe, donc lorsque j'appelle un nouveau jPanel je dois lui passer quelques paramètres. Mais je ne parviens pas à "l'importer".

(J'ai vu un topic très similaire, mais la personne a trouvé et je n'ai pas encore compris)


Voici un exemple similaire avec des simples jLabels - ça ça marche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) {                                                     
    if (jCheckBox1.isSelected()) {
 
        javax.swing.JLabel labeltest = new javax.swing.JLabel();
        labeltest.setText("hello");
        jPanelMain.add(labeltest);
}

Sauf que je voudrais ajouter mes jPanels à moi, pas juste des labels. Voici ce que j'ai actuellement, le code du jPanel, et ce que j'essaye de faire pour l'importer dans ma JFrame principale :

Mon jPanel : (possède 3 composants, inactifs pour l'instant)
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 RSTPackage;
 
public class RSTTimer extends javax.swing.JPanel {
 
    String item;
    int seconds;
 
    boolean isCustom;
 
 
    RSTTimer(String item, int seconds, boolean isCustom) {
        this.item = item;
        this.seconds = seconds;
        this.isCustom = isCustom;
    }
 
    public RSTTimer() {
        initComponents();
    }
 
 
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {
 
        jProgressBar = new javax.swing.JProgressBar();
        jButtonStart = new javax.swing.JButton();
        jLabel = new javax.swing.JLabel();
 
        setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT));
 
        jProgressBar.setMinimumSize(new java.awt.Dimension(100, 15));
        jProgressBar.setPreferredSize(new java.awt.Dimension(100, 15));
        add(jProgressBar);
 
        jButtonStart.setText("Start");
        jButtonStart.setMaximumSize(new java.awt.Dimension(60, 15));
        jButtonStart.setMinimumSize(new java.awt.Dimension(60, 15));
        jButtonStart.setPreferredSize(new java.awt.Dimension(60, 15));
        jButtonStart.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonStartActionPerformed(evt);
            }
        });
        add(jButtonStart);
 
        jLabel.setText("Item");
        add(jLabel);
    }// </editor-fold>                                        
 
    // Variables declaration - do not modify
    private javax.swing.JButton jButtonStart;
    private javax.swing.JLabel jLabel;
    private javax.swing.JProgressBar jProgressBar;
    // End of variables declaration
}
Ma jFrame principale : (je veux créer mes RSTTimer dans jPanelMain)
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
 
package RSTPackage;
 
 
public class RSTGUI extends javax.swing.JFrame {
 
    public RSTGUI() {
        initComponents();
    }
 
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {
 
        jPanelMain = new javax.swing.JPanel();
        jMenuBar = new javax.swing.JMenuBar();
        jMenuList = new javax.swing.JMenu();
        jCheckBoxMenuItemOvl = new javax.swing.JCheckBoxMenuItem();
 
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
 
        jPanelMain.setMinimumSize(new java.awt.Dimension(200, 100));
        jPanelMain.setPreferredSize(new java.awt.Dimension(200, 100));
        jPanelMain.setLayout(new javax.swing.BoxLayout(jPanelMain, javax.swing.BoxLayout.PAGE_AXIS));
        getContentPane().add(jPanelMain, java.awt.BorderLayout.CENTER);
 
        jMenuList.setText("List");
 
        jCheckBoxMenuItemOvl.setSelected(true);
        jCheckBoxMenuItemOvl.setText("Ovl");
        jCheckBoxMenuItemOvl.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCheckBoxMenuItemOvlActionPerformed(evt);
            }
        });
        jMenuList.add(jCheckBoxMenuItemOvl);
 
        jMenuBar.add(jMenuList);
 
        setJMenuBar(jMenuBar);
 
        pack();
    }// </editor-fold>
 
private void jCheckBoxMenuItemOvlActionPerformed(java.awt.event.ActionEvent evt) {                                                       
 
    if (jCheckBoxMenuItemOvl.isSelected()) {
 
        RSTTimer panelOvl = new RSTTimer("Ovl", 300, false);
 
        jPanelMain.add(panelOvl);
        panelOvl.setVisible(true); 
    }
 
}                                                      
 
 
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(RSTGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(RSTGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(RSTGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(RSTGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>
 
        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
 
            public void run() {
                new RSTGUI().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify
    private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItemOvl;
    private javax.swing.JMenuBar jMenuBar;
    private javax.swing.JMenu jMenuList;
    private javax.swing.JPanel jPanelMain;
    // End of variables declaration
}
Avec ça, ma Checkbox n'a aucun effet..
Merci d'avance poour votre aide