Estou utilizando o GlassPane para interceptar eventos Mouse e MouseMotion e depois dispará-los para um componente específico existente no LayeredPane. Utilizei como base a seção RootPane do Tutorial Java da Sun (http://java.sun.com/docs/books/tutorial/uiswing/components/rootpane.html) para construir meu código.
Funciona mais ou menos assim, quando eu clico no GlassPane, eu verifico qual componente está neste rumo (no layered pane), e disparo o click ele.
De inicio parecia tudo funcionar bem, mas depois percebi que alguns eventos não funcionam. O clique funciona bem, o released também, mas o mouseExited por exemplo não funciona, afinal, o evento é inicialmente disparado quando eu saio com o mouse do GlassPane, neste caso, nenhum componente estará neste rumo para receber o evento. Eu preciso saber se o mouse saiu do rumo de um componente do LayeredPane, ou se entrou (mouseEntered), etc…
No meu caso, existem vários painéis sobrepostos no layered pane, então eu primeiro identifico quem está por cima, e disparo o evento para este painel. O painel por sua vez, encontra o componente que está na posição x e y do evento (acho que aqui que entra o problema) utilizando SwingUtilities.getDeepestComponentAt(), e em seguida dispara o evento para este componente.
Alguem tem alguma luz para me ajudar a solucionar este problema?

