Ir ao conteúdo
  • Cadastre-se

Java Troca de imagens durante o programa


Posts recomendados

olá, eu estou estudando um pouco de java e tive um problema, estava testando trocar uma imagem de fundo por outra quando o usuário digitar alguma letra no teclado, porém a imagem só muda quando eu  minimizo a janela e abro de novo,estou usando uma label pra cada imagem, como faço pra imagem mudar sem eu ter que minimizar e depois aumentar a janela?(uso o netbeans)

Link para o comentário
Compartilhar em outros sites

@AdrianoSiqueira

package grafico;

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class graficolvl2 {
    JFrame im = new JFrame();
    ImageIcon imagem1 = new ImageIcon(getClass().getResource("imagem1.png"));
    ImageIcon imagem2 = new ImageIcon(getClass().getResource("imagem2.png"));
    JLabel label = new JLabel(imagem1);
    JLabel label2 = new JLabel(imagem2);
    public graficolvl2(){
          im.addKeyListener(new KeyAdapter(){
            public void keyPressed(KeyEvent c){
               char letra = c.getKeyChar(); 
               if(letra=='z'){
                   im.remove(label);
                   im.add(label2);
               }
               else{
                   im.remove(label2);
                   im.add(label);
               }
               
            }
        });
        im.setTitle("saaas");
        im.setSize(500,400);
        im.setLocationRelativeTo(null);
        im.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//quando excluir a janela(x) o programa fecha
        im.setVisible(true);
        im.add(label);
}
    public static void main(String[] args){
        new graficolvl2();
                }
}

Link para o comentário
Compartilhar em outros sites

Segue um exemplo funcional:

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.WindowConstants;
import java.awt.Image;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

public class Grafico extends JFrame {
    private JLabel label;

    public Grafico() {
        this.label = new JLabel();
        configure();
    }

    public static void main(String[] args) {
        new Grafico();
    }

    private void configure() {
        label.setHorizontalAlignment(JLabel.CENTER);

        this.setTitle("Imagens");
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        this.setSize(600, 300);
        this.addKeyListener(new KeyAdapter() {
            @Override
            public void keyReleased(KeyEvent e) {
                label.setIcon(getIcone(e.getKeyCode()));
            }
        });

        this.add(label);
        this.setVisible(true);
    }

    private ImageIcon getIcone(int keyCode) {
        String nomeImagem;
        
        if (keyCode == KeyEvent.VK_Z) {
            nomeImagem = "imagem1.png";
        } else {
            nomeImagem = "imagem2.png";
        }

        ImageIcon icone = new ImageIcon(getClass().getResource(nomeImagem));
        Image imagem = icone.getImage().getScaledInstance(500, 281, Image.SCALE_SMOOTH);
        
        return new ImageIcon(imagem);
    }
}

 

  • Curtir 1
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!