olá pessoal, recém estou iniciando a usar o swing, então estou fazendo um jogo da memória, porém não sei como faço para criar o tabuleiro com as imagens…
não sei fazer matrizes em swing, e gostaria de saber se há como, ou então como posso fazer utilizando botões?
lembrando que as imagens devem ficar mudando de lugar cada vez que é iniciado o jogo de novo e também deve se percorrer o vetor (?) ou o que for(no caso de matrizes) para ocorrer a mudança de carta virada, desvirada ou ja achado o par…
ñ sei se consegui me expressar direito, mas aguardo ajuda
[]'s
Você pode seguir os tutoriais do meu site.
Outra forma seria programar JButtons, usando um GridLayout e alguns timers.
Como já foi dito anteriormente você pode utilizar o gridBagLayout um exemplo simples seria este:
public class Test extends JFrame {
public static void main(String[] Args) {
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
panel.add(new JButton("A"), gbc);
gbc.gridx = 0;
gbc.gridy = 1;
panel.add(new JButton("B"), gbc);
gbc.gridx = 1;
gbc.gridy = 0;
panel.add(new JButton("C"), gbc);
gbc.gridx = 1;
gbc.gridy = 1;
panel.add(new JButton("D"), gbc);
Test test = new Test();
test.add(panel, BorderLayout.CENTER);
test.pack();
test.setVisible(true);
}
}
ai vai um exemplo de como criar uma matriz de um objeto do pacote Swing (é igual a qualquer matriz) e de como adicionar objetos em um JPanel com GridLayout (que é um pouco menos complexo que o gridBagLayout) para que eles se comportem como uma tabela
[code]import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class JogoDeMemoria extends JFrame{
private JButton[][] btosTab = new JButton[5][5]; //no caso de um tabuleiro de 5 por 5
JPanel panelTab;
JogoDeMemoria(){
super("Jogo da Memoria");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(1000,500);
confPanelTab();
this.setVisible(true);
}
private void confPanelTab(){
panelTab = new JPanel(new GridLayout(5,5)); // crio o JPanel que servira de tabuleiro;
criaBtosTab();
this.add(panelTab); // adiciono ele na janela;
}
private void criaBtosTab(){
for(int i=0; i<btosTab.length; i++){ // loop que percorre as linhas do tabuleiro
for(int j=0;j<btosTab[i].length; j++){ //loop que percorre as colunas do tabuleiro
btosTab[i][j] = new JButton("img da linha "+(i+1)+", coluna "+(j+1));
panelTab.add(btosTab[i][j]);
}
}
}
public static void main(String[] args) {
new JogoDeMemoria();
}
}
[/code]
agora é só você dar uma estudada em como colocar uma imagem em um JButton e de como ouvir eventos
até mais!