Opa galera, to desenvolvendo um jogo de damas como projeto na faculdade, finalmente consegui desenvolver toda a lógica do jogo agora só falta a última camada no projeto, desenvolver a parte gráfica, resolvi fazer esta por swing:
Pensei no seguinte, cada casa no tabuleiro será uma imagem pois, quando o jogador clicar em uma peça algumas casas acenderão para mostrar ao usuário quais locais que ele pode mover com tal peça.
Até aí tudo bem, criei três classes para o tabuleiro, a classe Local, a classe Linha contendo um vetor[8] de Local e finalmente a classe Tabuleiro contendo um vetor[8] de Linhas
vou colar o código aqui:
public class Local extends JPanel {
//Caminho das imagens
public static final String caminho = "/Users/Sergio/Documents/workspace/Checkers/src/View/images/";
private Icon imagem;
private JLabel local;
private boolean hasPiece;
public Local(boolean branco){
if(branco) // Cor.WHITE
imagem = new ImageIcon(caminho + "Branca.gif");
else
imagem = new ImageIcon(caminho + "Preto.gif");
local = new JLabel(imagem);
this.add(local);
}
}
public class Linha extends JPanel {
private Local locais[];
public Linha(int num){
locais = new Local[8];
if(num%2 == 0) // Linha numero par
for(int i = 1; i<=8; i++){
locais[i-1] = new Local(i%2 == 0);
this.add(locais[i-1]);
}
else
for(int i = 1; i<=8; i++){
locais[i-1] = new Local(i%2 != 0);
this.add(locais[i-1]);
}
}
}
public class Tabuleiro extends JPanel {
private Linha tabuleiro[];
public Tabuleiro(){
this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
tabuleiro = new Linha[8];
for(int i = 1 ; i<=8 ; i++){
tabuleiro[i-1] = new Linha(i);
this.add(tabuleiro[i-1]);
}
}
}
Felizmente o programa está gerando o tabuleiro corretamente, o único detalhe é q as imagens estão separadas por um espaço de cerca de 5 a 10px, eu gostaria de que as imagens estivessem coladas umas às outras, isso é possível? Como fazer? Na verdade acredito que oq está afastando as imagens são os panels, oque devo fazer?