Ter 2 botões com o caminho de uma imagem no HD e ao Clicar setar a imagem na mesma JLabel

1 resposta
douglasmanteiga

Bom dia, preciso saber como faço para ter 2 caminhos de uma imagem no HD, utilizei o método abaixo, e depois como faço para setar ela na mesma JLabel substituindo a imagem atual que está setada…

//Utilizei essa forma para setar a Imagem na JLabel
        jLabelFoto = new JLabel(getImage("C:\\test\\3.jpg"));
        getContentPane().add(jLabelFoto);
        jLabelFoto.setBounds(400, 100, 260, 300);    
   
        //E esse metodo para passa o caminho e retorna a Image
    	public ImageIcon getImage(String caminho) {
        ImageIcon image = new ImageIcon(caminho);
        return image;
    }

Só que o problema é que quando eu clico em um botão primeiro ele cria a imagem mas no outro botão já não cria, acho que é pq o objeto já esta criado
como resolveria meu problema?
obrigado.

1 Resposta

W

Bom dia gostaria de saber como vc esta pegando o segundo caminho.

Eu utilizo assim pra setar no jlabel e procurar imagen

private void procurar_image() throws HeadlessException {
        // TODO add your handling code here:
        JSystemFileChooser fileChooser = new JSystemFileChooser();
        fileChooser.setFileFilter(new FileNameExtensionFilter("Image files", "bmp", "png", "jpg"));
        fileChooser.setAcceptAllFileFilterUsed(false);
        fileChooser.setMultiSelectionEnabled(false);
        fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
        fileChooser.setDialogTitle("Selecione uma Imagem");
        String caminho;
        if (fileChooser.showOpenDialog(fileChooser) != JFileChooser.CANCEL_OPTION) {
            caminho = fileChooser.getSelectedFile().getAbsolutePath();
            inserir_image(caminho);
            ca = caminho;

        } else {
            caminho = null;
            ca = caminho;
        }

    }

    private void inserir_image(String caminho) {
        int altura = 269;
        int largura = 435;
        ImageIcon imagem = new ImageIcon(caminho);
        Image redimensionadora = imagem.getImage().getScaledInstance(largura, altura, Image.SCALE_DEFAULT);
        imagem = new ImageIcon(redimensionadora);
        jl_image.setIcon(imagem);
    }

Em todo caso no seu problema so parece ser de setar a imagen de volta

jlabel.setIcon(imagem);
Criado 8 de março de 2013
Ultima resposta 8 de mar. de 2013
Respostas 1
Participantes 2