Action sur checkbox

mdh12 Messages postés 55 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 29 mars 2011 - 21 déc. 2010 à 11:50
 Utilisateur anonyme - 21 déc. 2010 à 15:05
salut,


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

Utilisateur anonyme
21 déc. 2010 à 15:05
Bonjour

Tu devrais plutôt utiliser un ItemListener (avec getStateChange() == ItemEvent.SELECTED) et non un ActionListener comme c'est expliqué dans ce tutoriel :
http://download.oracle.com/javase/tutorial/uiswing/components/button.html

N'utilise pas l'éditeur d'IHM de Netbeans si tu ne maîtrises pas les bases de Swing et d'AWT.

Ajoute le panneau concerné à ton conteneur (ici la JFrame de ta 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).

Je rappelle que tu es sensé faire des recherches, notamment dans la documentation Java et dans les tutoriels d'Oracle avant de poser des questions ici.

















TUER : http://tuer.sourceforge.net/tuer.jnlp

yeah! vive java
0
Rejoignez-nous