Action sur checkbox

Bonjour,

je créer deux checkbox et je créer deux panel

mon objectif est je veux quand je coche la case par exemple

le deuxième panel sera rempli par :par exemple un bouton et un textfield

je créer une action sur jCheckBoxSendMail .

et je suppose que la création de panel2 avec ces composants sera fait par un test si je coche ce CheckBoxSendMail

je fait ce code :
public class Test extends javax.swing.JFrame {
 
   
    public Test() {
        initComponents();
    }
 
   
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {
 
        jPanel1 = new javax.swing.JPanel();
        jCheckBoxemail = new javax.swing.JCheckBox();
        jCheckBoxSms = new javax.swing.JCheckBox();
        jPanel2 = new javax.swing.JPanel();
 
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
 
        jPanel1.setBackground(new java.awt.Color(255, 255, 255));
 
        jCheckBoxemail.setText("envoi email");
        jCheckBoxemail.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCheckBoxemailActionPerformed(evt);
            }
        });
 
        jCheckBoxSms.setText("envoi sms");
 
        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jCheckBoxemail)
                    .addComponent(jCheckBoxSms))
                .addContainerGap(62, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(15, 15, 15)
                .addComponent(jCheckBoxemail)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jCheckBoxSms)
                .addContainerGap(40, Short.MAX_VALUE))
        );
 
        jPanel2.setBackground(new java.awt.Color(255, 255, 255));
 
        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 102, Short.MAX_VALUE)
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 100, Short.MAX_VALUE)
        );
 
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(18, 18, 18)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 75, Short.MAX_VALUE)
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(58, 58, 58))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(78, 78, 78)
                        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(26, 26, 26)
                        .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(118, Short.MAX_VALUE))
        );
 
        pack();
    }// </editor-fold>
 
    private void jCheckBoxemailActionPerformed(java.awt.event.ActionEvent evt) {
 
 
 
 
      
    }
 
   
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Test().setVisible(true);
            }
        });
    }
 
    // Variables declaration - do not modify
    private javax.swing.JCheckBox jCheckBoxSms;
    private javax.swing.JCheckBox jCheckBoxemail;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    // End of variables declaration
 
}
 


pouvez SVP m'aider a completer ce code dans cette partie je suppose

private void jCheckBoxemailActionPerformed(java.awt.event.ActionEvent evt) {
 
 
 
 
      
    }


merci d'avance

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. je suppose que je dois utiliser un ItemListener (avec getStateChange() == ItemEvent.SELECTED)

    et je dois ajouter le panneau concerné à mon conteneur (ici la JFrame de ma classe Test) avec la méthode add(JComponent jcomponent,Object constraint) dans l'ItemListener, le deuxième paramètre est une contrainte à prendre dans la classe BorderLayout (BorderLayout.CENTER par exemple).

    pouvez SVP m'aider à remplir panel2

    merci d'avance