Pessoal, eu tenho alguns labels na minha tela.
Preciso saber em qual label o usuário clicou.
Como eu poderia fazer isso?
Clique do mouse [RESOLVIDO]
5 Respostas
pra inio de conversa…
NAO DUPLIQUE TOPICOS
vc adiciona um evento MousePressed no seus labels
pra saber qual foi clicado eh soh fazer
if(evt.getSource().equal(nome_do_label)){
...
}else if(evt.getSource().equal(nome_do_label_2)){
...
} ...
acho que isso resolve
Putz, desculpa Marlon.
Estava meio desesperado com isso ontem.
Mais então,
não deu acerto aqui.
Eu clico no label e não acontece nada.
Eu add o label para o toolbar.
toolbar.add(imagensMiniArgumento);
E tenho o evento.
imagensMiniArgumento.addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent e) {
System.out.println("nome = "+e.getSource());
}
public void mousePressed(MouseEvent e) {
System.out.println("nome = "+e.getSource());
throw new UnsupportedOperationException("Not supported yet.");
}
public void mouseReleased(MouseEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
public void mouseEntered(MouseEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
public void mouseExited(MouseEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
});
O que será que eu estou fazendo de errado?
Os eventos não estão sendo chamados?
PS: Use MouseAdapter se voce não quiser usar algunas métodos e sem precisar deixa-los em branco.
imagensMiniArgumento.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
System.out.println("nome = "+e.getSource());
}
});
Mas como eu faço pra chamar o evento Mark?
Não entendi.
Consegui Roger.
Eu havia add um tip pra minha imagem.
Daí usei esse evento.
public class Listener extends MouseAdapter {
@Override
public void mousePressed(MouseEvent e) {
JLabel fonte = (JLabel) e.getSource();
JOptionPane.showMessageDialog(null, "Você clicou no "
+ fonte.getToolTipText());
}
}
Valeu cara.
Muito obrigado.