JLabels e addMouseListener?!?

2 respostas
F

Boa tarde pessoal.

Tenho 7 JLabels na minha aplicação, todas elas terao o mesmo comportamento à uma ação do mouse,
Tem como eu montar somente um addMouseListener para todas elas?

Flw…

2 Respostas

ViniGodoy

Você pode usar o mesmo listener, mas tem que dar um addMouseListener em cada uma.

Exemplo:

MouseListener l = new MouseAdapter() {
    public void onMouseMoved(MouseEvent evt) {
          //Faz qualquer coisa
    }
}

label1.addMouseListener(l);
label2.addMouseListener(l);
label3.addMouseListener(l);
label4.addMouseListener(l);
fabim

Essas JLabels estão algo que extends Container ( JFrame, JInternalFrame ) ?

MouseListener l = new MouseAdapter() {   
     public void onMouseMoved(MouseEvent evt) {   
          //Faz qualquer coisa   
     }   
}

Component[] componentes = frame.getComponents();
for ( Component componente : componentes )
     if ( componente instanceof JLabel )
          ((JLabel)componente).addMouseListener( l );

assim vc nao tem q adicionar ou remover qqer linha no código, pra cada label adicionada ou removida.

Criado 14 de novembro de 2007
Ultima resposta 14 de nov. de 2007
Respostas 2
Participantes 3