Problema com MouseListener e Panel

Tentei várias vezes arrumar esse código e não consigo, sou iniciante e gostaria de ajuda.
Queria que cada vez que ele passasse por cima da imagem, ele mostrasse uma mensagem. No caso coloquei um System out print para evitar outros erros meus. Mas, ele só manda a mensagem quando eu saio da janela e passo o mouse dentro dela, seja na imagem ou em qualquer outro lugar.

[code]class Cards extends JPanel implements MouseListener{

@Override public void paintComponent(Graphics g) {
    Image cardIm;
    cardIm = Toolkit.getDefaultToolkit().getImage(getClass().getResource("resources/card.jpg"));
    g.drawImage(cardIm, 200, 450, 84, 108, this);
}

public void mouseReleased(MouseEvent evt) {
}

public void mouseClicked(MouseEvent evt) {
}  

public void mouseEntered(MouseEvent evt) {
    System.out.print("Em cima");
}    

public void mouseExited(MouseEvent evt) {
}

public void mousePressed(MouseEvent evt) {
}

public void init() {
    addMouseListener(this);


}

}[/code]