Acho que o ImageIcon não ouve eventos. Você tem que colocá-lo em algum botão (ou outro componente) e adicionar um ouvinte a esse componente, de forma que os eventos do mouse possam ser tratados.
Você pode tentar desenhar todos em um JPanel só…quando você sobrescreve o método paintComponent, você pode desenhar o que quiser nele, e é o que vai aparecer na tela. Dessa forma, você poderia desenhar as cartas assim:
public void paintComponent(Graphics g) {
super.paintComponent();
for (int i=0 ; i<cartas.length ; i++) {
g.drawImage(...); // desenha a carta i, deslocada à direita da anterior
}
}
É lógico que o código acima está simplificado e eu não sei como são guardadas suas cartas, mas se vc brincar com os tutoriais da Sun e fuçar um pouquinho vc resolve