Remover imagem de um JLabel

4 respostas
Vander_Carlos

Bom dia galera.

Como vocês estão vendo coloquei uma imagem em cima de uma Label, até ai nenhum problema.

Abro um Menu Pop-Up, escolho o procedimento, clico e ele insere a imagem.

O que eu estava tentando e não consegui era que quando clicar no procedimento ele verificar se ele já estava com a imagem do procedimento, se não estivesse ele adicionava a imagem e se ele já estivesse com a imagem ele removia.

[img]https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-ash3/535744_295816230510719_100002470335918_58609282_355146182_n.jpg[/img]

Como tá o código:

JMenuItem mnCirurgia = new JMenu("Cirurgia");

        JMenuItem apicectomia = new JMenuItem("Apicectomia de Molares");
        mnCirurgia.add(apicectomia);
        apicectomia.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

             ImageIcon icon = new javax.swing.ImageIcon(getClass().getResource("/br/autodontov1/Procedimentos/Amputacao/18.png"));
             JLabel lbImagem = new JLabel(icon);

             lb_Dente18.add(lbImagem);
             lbImagem.setBounds(new Rectangle(-1, -32, icon.getIconWidth(), icon.getIconHeight()));
                
            }
        });

        JPopupMenu popup = new JPopupMenu();
        popup.add(mnCirurgia);
        popup.show(lb_Dente18, 10, 10);

[]'s

4 Respostas

Eder_Peixoto

E não poderia guardar a informação de que está ou não apreentando a imagem?

Vander_Carlos

Como ?

Eder_Peixoto

Utilizando algum atributo pra isso ou então invocando o método getIcon() da classe JLabel pra verificar se há alguma imagem incluída.

Vander_Carlos

Estou tentando dessa forma e não ta dando certo, ele não faz a primeira verificação e quando clico de novo ele adiciona outra imagem

public void actionPerformed(ActionEvent e) {

                ImageIcon icon = new javax.swing.ImageIcon(getClass().getResource("/br/autodontov1/Procedimentos/Amputacao/18.png"));
                JLabel lbImagem = new JLabel(icon);

                if (lb_Dente18.getIcon().equals(lbImagem) == false) {
                  
                    lb_Dente18.add(lbImagem);
                    lbImagem.setBounds(new Rectangle(-1, -32, icon.getIconWidth(), icon.getIconHeight()));                    
                    
                } else {
                    lb_Dente18.remove(lbImagem);
                }
                
            }
        });

D:

Criado 28 de maio de 2012
Ultima resposta 28 de mai. de 2012
Respostas 4
Participantes 2