Acciones de botón y checkbox y escribir en un cuadro de texto Java Swing

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

@SuppressWarnings("serial")
public class ventana10 extends JFrame implements ActionListener{
JPanel miPanel;
JButton miBoton;
JLabel miEtiqueta;
JCheckBox miCheckBox;
JTextArea miAreaDeTexto;

int pulsaciones = 0; //veces que pulsamos al boton
int contador = 2; //si esata activado o no el check

ventana10(){
miPanel = new JPanel();
JPanel panelInferior = new JPanel();
miBoton = new JButton ("pulsa boton");

miBoton.addActionListener((ActionListener) this);

miEtiqueta = new JLabel();

miCheckBox = new JCheckBox("Check");
miCheckBox.addActionListener(this);

miAreaDeTexto = new JTextArea("El checkBox esta desactivado");

miPanel.add(miBoton);
miPanel.add(miEtiqueta);
miPanel.add(panelInferior);
panelInferior.add(miCheckBox);
panelInferior.add(miAreaDeTexto);
this.add(miPanel);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ventana10 vent = new ventana10();
vent.setTitle("Ventana"); //texto de arriba de la ventana
vent.setSize(300,200);
vent.setDefaultCloseOperation(EXIT_ON_CLOSE);
vent.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==miBoton){
pulsaciones++;
miAreaDeTexto.setText("Has pulsado el boton "+pulsaciones+" veces");
}else{
if (e.getSource()==miCheckBox){ //mi forma en comentarios
// if(contador%2==0){
// miAreaDeTexto.setText("El checkBox esta activado");
// contador++;
// }else{
// miAreaDeTexto.setText("El checkBox esta desactivado");
// contador++;
// }
if(miCheckBox.isSelected())
miAreaDeTexto.setText("El checkBox esta activado");
else
miAreaDeTexto.setText("El checkBox esta desactivado");
}
}
}
}