Acción a botón y checkbox en Java Swing

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

import javax.swing.*;

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

ventana9(){
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("Mi texto");

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
ventana9 vent = new ventana9();
vent.setTitle("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)
miAreaDeTexto.setText("Has pulsado el boton");
else if (e.getSource()==miCheckBox)
miAreaDeTexto.setText("El checkBOx ha cambiado de estado");
}
}