hola yisus
si entiendo bien estas realizando un juego de cartas y lo que quieres hacer es, que cuando se haga click en una carta te muestra la cara.
lo que tienes que hacer: en tu clase Carta tener los atributos de imagen de la "cara" y la imagen de "atras" y crear una funcion para ver cual cara esta visualizada "darVuelta()"
Código Java:
Ver original
public CartaButton(){
cara
= new ImageIcon(getClass
().
getResource("assets/images/caraQ.png")); atras
= new ImageIcon(getClass
().
getResource("assets/images/atrasQ.png"));
//por defecto adicionamos la cara de atras
this.setIcon(atras);
}
public void darVuelta(){
//verificar que tipo de cara esta visualizada
if(this.getIcon().equals(cara)){
this.setIcon(atras);
}
if(this.getIcon().equals(atras)){
this.setIcon(cara);
}
}
//function getters and setters
}
en tu aplicación grafica tienes ya creada la matriz, a cada objeto de la matriz tienes que adicionarle el evento MouseListener
Código Java:
Ver originalCartaButton btn[][]=...
int row=-1;
int col=-1;
row=btn.length;
if(btn.length>0)
col=btn[0].length;
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
btn[i][j]=new CartaButton();
@Override
@Override
@Override
@Override
@Override
CartaButton _btn=(CartaButton)arg0.getComponent();
//adicionar la imagen de acuerdo al tipo de carta por ejemplo Q
_btn.darVuelta();
}
});
}
}
Espero que te haya servido este pequeño codigo simplificado
:) Saludos