Fermo, senza che mi leggo tutto quel ben di codice:
codice:// tua classe contenitore... //... //classe che estende JLabel + classe ad-hoc private class MyJLabel extends JLabel { private class MyMouseAdapter extends MouseAdapter { private MyJLabel label; public MyMouseAdapter(MyJLabel label) { this.label = label; } public void mouseEntered(MouseEvent me) { System.out.println("Entrato in "+label.getName()); } public void mouseExited(MouseEvent me) { System.out.println("Uscito da "+label.getName()); } } public MyJLabel(String icon, String name) { super(new ImageIcon(icon)); this.setName(name); this.addMouseListener(new MyMouseAdapter(this)); } }