Tenho uma Label com uma imagem, selecionando com um Menu Popup posso selecionar um ou mais de um Item(Imagem) e adicionar ao Label em uma determinada posição dessa forma:
https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-ash3/535744_295816230510719_100002470335918_58609282_355146182_n.jpg
Antes de adicionar a imagem em cima do dente eu queria verificar se ela já estava adicionada, se tivesse ao clicar no Item ele removia a imagem.
Eu tava tentando dessa forma:
[code] if (lb_Dente18.getIcon().equals(lbImagem) == false) {
lb_Dente18.add(lbImagem);
lbImagem.setBounds(new Rectangle(-1, -32, icon.getIconWidth(), icon.getIconHeight()));
} else {
lbImagem.setIcon(null);
lbImagem.repaint();
}
[/code]
Só que não deu certo, quando eu clico no mesmo Item ele adiciona outra imagem.
[]'s
lbImagem é um JLabel e lb_Dente18.getIcon() é um ImageIcon, e você está tentando comparar maçãs com laranjas. “equals” sempre vai voltar false porque você está tentando comparar coisas de tipos diferentes.
Faltou a primeira parte, os dois são um ImageIcon:
[code] 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 {
lbImagem.setIcon(null);
lbImagem.repaint();
}
}[/code]
Meu detector de tipos de expressões diz-me que lbImagem é um JLabel e lb_Dente18.getIcon() é um ImageIcon 
Ops :?, os dois são um Label.
private javax.swing.JLabel lb_Dente18;
lb_Dente18 = new javax.swing.JLabel();
É claro que lb_Dente18 é um JLabel.
Mas lb_Dente18.getIcon() retorna um ImageIcon.
Provavelmente você está com sono…
Aaaa entendi kkkk
Então sem fazer essa comparação com o lb_Dente18 e o lbImagem como eu verifico se no Label já foi adicionado algum Icon ?
[]'s
Espera um pouquinho.
Você quer saber se já foi adicionado algum icon (nesse caso, getIcon() retorna algo diferente de null) ou se o ícone é igual ao que você carregou?
Se for tentar checar se é igual, mesmo comparar 2 objetos ImageIcon com “equals” não é garantia de sucesso - isso porque não sei como é implementado o “equals” na classe ImageIcon. Acho que ele não é nem reimplementado da classe Object, e compara apenas para ver se as instâncias são a mesma ou não.
Acredito que se você carregar 2 vezes o mesmo ícone do mesmo arquivo com new ImageIcon, como você fez, irá retornar 2 instâncias diferentes (embora mostrando exatamente a mesma coisa na tela) e elas irão comparar, usando o “equals”, como diferentes, não iguais.
Não é melhor você estabelecer um outro tipo de controle?
Queria verificar se já foi adicionado um ícone, pq se eu já tiver a imagem na Label fazer a verificação e em vez de adicionar outra imagem ele remove a que estava.
Eu criei agora mais dois itens de menu pra sair disso logo, um com adicionar e outro com remover.
Bom, dessa forma forma de criar os dois menus deu certo. O ruim é que o código vai ficar enorme D:
Valeu pela ajuda 
[]'s