Ir ao conteúdo
  • Cadastre-se

Java Como guardar e recuperar imagens em um vetor


Posts recomendados

Olá.
Estou trabalhando num projeto de Jogo da Memória e preciso muito de ajuda para guardar algumas figuras em um vetor e também como acessar este vetor (recuperar as imagens.
Hoje eu resolvi mudando os nomes dos arquivos (imagens), mas quero saber se há alguma outra forma:

as figuras estão organizadas assim: 1.png, 2.png, 3.png, 4.png, 5.png, 6.png, 7.png, 8.png, 9.png, 10.png, 11.png, 12.png, 13.png, 14.png, 15.png, 16.png.

Segue o codigo da parte onde faço o acesso as imagens:

 

for (int i = 0; i < QtdeBotoes; ++i){
                if (event.getSource() == botao[i]){ //clicou em um dos botões do jogo
                    botao[i].setEnabled(false); //desativa o botão
                    System.out.println("Botão " + i + ": " + caminho + NumSorteado[i] + ".png");
                    botao[i].setIcon(new ImageIcon(caminho + Integer.toString(NumSorteado[i]) + ".png"));
                    Numero_Click++; //aumenta a contagem dos clicks
                    if (Numero_Click == 1) Click1 = i;  //checa o primeiro click (botao)
                        if (Numero_Click == 2){         //checa o segundo click (botao)
                            Click2 = i;
                            if (NumSorteado[Click1] != NumSorteado[Click2]){
                                pontos-=2;
                                botao[Click1].setIcon(new ImageIcon(imgPadrao)); //aqui eu recupero a imagem 1
                                botao[Click2].setIcon(new ImageIcon(imgPadrao)); //aqui eu recupero a imagem 2
                                botao[Click1].setEnabled(true);
                                botao[Click2].setEnabled(true);                             
                            }  else {
                                Cont_Acertos++;
                                pontos+=10;
                        }
                        Numero_Click = 0;
                    }
                }
            }

Porém quero usar vetores (imagens).

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@lc_PapaiLu Olá. É o seguinte: Eu não programo em Java Swing. Quanto a interface gráfica em Java comecei direto com o JavaFX

Mas segue duas maneiras que você pode usar fazer o que quer:

// aqui só criei algumas coisas para ilustra o uso do List

List<ImageIcon> imagens = new ArrayList<>();

StringBuilder urls[] = new StringBuilder[3];

JButton botões[] = new JButton[3];

for (int i = 0; i < urls.length; i++) {
    urls[i] = new StringBuilder("src/img" + (i + 1) + ".jpg");
}

for (int i = 0; i < urls.length; i++) {
    imagens.add(new ImageIcon(urls[i].toString())); // adiciono na lista as imagens
}

// aqui é só um exemplo do uso
for (int i = 0; i < botões.length; i++) {
    botões[i] = new JButton();
    botões[i].setIcon(imagens.get(i));
    botões[i].setEnabled(true);
}

Já se faz questão de usar um array de imagens daria para fazer algo assim:

ImageIcon images[] = new ImageIcon[10];
		
for (int i = 0; i < images.length; i++) {
    images[i] = new ImageIcon(urls[i].toString());
    botões[i] = new JButton();
    botões[i].setIcon(images[i]);
}

Seria algo assim que poderia resolver seu problema

Vê se ajuda

Link para o comentário
Compartilhar em outros sites

@lc_PapaiLu Olá. Muito bom ver seu interesse pelo JavaFX

Em uma breve pesquisa, encontrei esse material:

 

Pela forma como ele se referiu a instalação e configuração do JavaFX e do Scene Builder para o Eclipse, pode ser muito útil assistir a essas aulas 😀

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!