Olá, Como faço para indicar no código qual componente disparou um evento de passagem do cursor do mouse?
Por exemplo, suponhamos que temos dois JLabel (chamemos de JLabel01 e JLabel02). Então, quando o cursor do mouse passar pelo JLabel01, imprima no console: “JLabel01”; Já, quando o cursor do mouse passar pelo JLabel02, imprima no console: “JLabel02”.
Acho que vc está com o pensamento invertido, CADA componente tem SEU evento, logo, vc precisa implementar em CADA componente este evento, então, o evento que capturar a ação só pode ser referente ao componente que implementou este evento.
Então: Cada componente tem seu evento.
Agora, terei que reescrever o método mouseMoved() para executar a ação desejada. Como informo dentro do método mouseMoved() qual componente disparou o evento?
posta seu código
A classe que cria a GUI:
public class TelaGeral extends JFrame{
private JLabel jLabel01, jLabel02;
TelaGeral(){
super(Testes de Eventos de Mouse);
JFrame telaGeral= new JFrame();
telaGeral.setSize(500, 500);
telaGeral.setVisible(true);
telaGeral.setDefaultCloseOperation(EXIT_ON_CLOSE);
telaGeral.setLayout(new GridLayout(1,2));
jLabel01= new JLabel("JLabel01");
telaGeral.add(jLabel01);
labelTeste.addMouseMotionListener(new MouseEventos());
jLabel02= new JLabel("JLabel02");
telaGeral.add(jLabel02);
labelTeste.addMouseMotionListener(new MouseEventos());
}
}
E, abaixo, a classe que deveria executar as ações:
public class MouseEventos extends MouseMotionAdapter{
public void mouseMoved(MouseEvent move) {
if(…) {
}
}
}