Java Swing: altere a cor de fundo no mouse

Implementei um ouvinte de mouse simples, onde a cor de fundo muda sempre que o mouse entra no componente (um JPanel), e volta a ser revertido sempre que o mouse sai. Isso tem alguns problemas:

Às vezes o mouse se move tão rápido que omouseExit evento não é demitidoSe meu componente tem filhos, quando o mouse se move para os filhos, ele acionamouseExitSe eu passar o mouse para as crianças rapidamente,mouseEnter evento não é demitido

Eu estou supondo que isso é fácil para os veteranos do Swing. Alguma sugestão sobre como consertar isto? Eu adoraria não usar temporizadores e tal ...

questionAnswers(4)

yourAnswerToTheQuestion